c# - 如何使用 C# 在 mysql 5.1 版本中插入 unicode 值?

标签 c# asp.net mysql c#-4.0 phpmyadmin

在我的 asp.net 应用程序中,我有一些 unicode 格式的数据(印地语-印度语言)。现在我想将此 unicode 文本插入到 mysql(5.1) 数据库中。当我运行下面的 C# 代码时,存储的文本在我的数据库中,就像 ?????? 而不是我的 unicode 文本。但是当我通过 phpmyadmin 执行查询时,它被正确存储。

我已经将数据库、表和特定字段排序规则设置为utf8_general_ci。并将数据库字符集设置为 utf8

string mysql_query2 = "SET NAMES 'utf8'";
da.UpdateCommand = new MySqlCommand(mysql_query2, mysqlCon);
da.UpdateCommand.ExecuteNonQuery();


string para_text="हिन्दी भारत";
string para_outerxml="की राष्ट्रभाषा";
string status="जयपुर। हास्य-व्यंग्य";

string sql = "Insert into sand_box (para_text,para_outerxml,status) values('" + para_text + "','" + para_outerxml + "','" + status+")";
da.InsertCommand = new MySqlCommand(sql, mysqlCon);
da.InsertCommand.ExecuteNonQuery();

另外,请引用我下面的图片。(表结构)

enter image description here

最佳答案

您需要将其转换为 base-64 并按如下方式插入

var langText = Convert.ToBase64String(Encoding.UTF8.GetBytes("yourtext"));

在取回时将其转换为普通字符串,如下所示

var Normal=Encoding.UTF8.GetString(Convert.FromBase64String("your base64text"));

编辑 1

所以你的插入应该是这样的

string mysql_query2 = "SET NAMES 'utf8'";
da.UpdateCommand = new MySqlCommand(mysql_query2, mysqlCon);
da.UpdateCommand.ExecuteNonQuery();


string para_text="हिन्दी भारत";
string para_outerxml="की राष्ट्रभाषा";
string status="जयपुर। हास्य-व्यंग्य";

string sql = "Insert into sand_box (para_text,para_outerxml,status) 
     values('" + Convert.ToBase64String(Encoding.UTF8.GetBytes(para_text)) + "','" 
             + Convert.ToBase64String(Encoding.UTF8.GetBytes(para_outerxml)) + "','" + 
              Convert.ToBase64String(Encoding.UTF8.GetBytes(status))+")";
da.InsertCommand = new MySqlCommand(sql, mysqlCon);
da.InsertCommand.ExecuteNonQuery();

编辑2

这是一个类似的问题
how to insert arabic into mysql from asp.net C#

关于c# - 如何使用 C# 在 mysql 5.1 版本中插入 unicode 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15675757/

相关文章:

c# - 为什么将自托管应用程序的 uri 设置为 localhost?

MySQl 错误 #1064

mysql - SQL从给定日期选择前3条记录

c# - 如何从 C# 连接到 Apple News API?

c# - Visual Studio 2015 无法识别 C# 7.0 语法

c# - ReadOnly 和 Const 之间的区别?

asp.net - ASP.NET 4.0 中最好的浏览器检测解决方案

c# - 在Visual Studio 7.5 Mac中找不到指定的框架 'Microsoft.AspNetCore.App'和版本 '2.1.0' docker

mysql - 如何加快从大型 CSV 文件创建 MySQL 表的速度?

c# - 使用 C# 将 DateTime 格式转换为 SQL 格式