我的服务器是用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(在模式中和表中)。
当我直接在DB中使用希伯来语字符在DB中编写插入查询时,没关系。
当我尝试从客户端插入希伯来语时,它会显示问号。 当我调试(客户端,服务器或数据库)时,一切都显示正常的字符。
conecttion string:
<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(); }
答案 0 :(得分:0)
如上所述更改了排序规则和web.config之后,我唯一没有改变的是DB中的过程。 所以,在改变之后:
pCategoryDescH varchar(300)
到此:
pCategoryDescH nvarchar(300)
终于有效了。
找到解决方案here