c# - 从 c# 服务器到 mysql DB - 希伯来语问号

标签 c# mysql

我的服务器是用c#写的,DB是mysql。

我将 web.config 更改为:

    <globalization
 fileEncoding="utf-8"
 requestEncoding="utf-8"
 responseEncoding="utf-8"
 culture="he"
 uiCulture="he"
    />

在我的客户端 html 页面中:

<meta charset="utf-8">

在数据库本身中,排序规则是:utf8_general_ci(在模式和表中)。

当我直接(使用 mysql workbench)使用希伯来语字符在数据库中编写插入查询时,没问题。

当我尝试从客户端插入希伯来语时,它显示问号。 当我调试(客户端、服务器或数据库)时,一切都显示正常字符。

连接字符串:

<add key="MySQLConn" value="Server=myhost;Database=mydb;User=myuser;Password=***;Charset=utf8;"/>

插入代码:

           MySqlConnection conn = new MySqlConnection(mConnString);
        try
        {
            conn.Open();
            MySqlCommand com = new MySqlCommand("sp_InsertCategory", conn);
            MySqlDataAdapter adap = new MySqlDataAdapter(com);
            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.AddWithValue("?pUserId", UserId);
            com.Parameters.AddWithValue("?pRestId", RestId);
            com.Parameters.AddWithValue("?pCategoryDesc", CatDesc);
            var result = com.ExecuteNonQuery();
            return result;
        }
        catch (Exception ex)
        {
            return -1;
        }
        finally { conn.Close(); }

最佳答案

按照描述更改排序规则和 web.config 后,我唯一没有更改的是数据库中的过程。 所以,从这个改变之后:

pCategoryDescH varchar(300)

为此:

pCategoryDescH nvarchar(300)

终于成功了。

找到解决方案here

关于c# - 从 c# 服务器到 mysql DB - 希伯来语问号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25292836/

相关文章:

c# - 使用 C# 控制台应用程序将一个大的 XML 文件一分为二

c# - 两个 View 模型之间的主从拆分 : Where to put cancel command logic?

c# - 找不到名称时统一容器可以解析默认类型吗?

MySQL创建连接两个表的 View

mysql - 如何根据上个月的计算更新每个月的期初余额?

c# - 领域驱动设计 API 问题

c# - 让我的应用程序由 GPO 控制

mysql - 数据建模——为什么不是平面属性表?

php - Jquery日期选择器无法通过php保存在数据库中

php - 使用 mysqli_query 的长文本最大内存错误