【发布时间】:2010-10-20 21:13:47
【问题描述】:
我正在尝试将字符串插入 MySQL 数据库。我可以通过在服务器上运行查询来插入它,但是当我尝试使用我的 C# 源文件插入“Iñtërnâtiônàlizætiøn”时,我得到“Iñtërnâtiônà lizætiøn”。我尝试将其添加为参数并将 ;charset=utf8 添加到我的连接字符串中,但没有运气。数据库中的表具有 utf8 作为其字符集。我是不是错过了什么。
这是我的代码(使用 StringBuilder):
sqlBuffer.Append(
string.Format(
@"INSERT `resources` (id, somefield)
VALUES (20004,'Iñtërnâtiônàlizætiøn');");
【问题讨论】:
-
SQL Server 也会发生同样的情况,即使我删除了 @。我对此完全感到困惑。我什至尝试添加以转义的 unicode 格式 (\uXXXX) 指定字符串。
-
在 SQL Server 上,您的数据库字段是 nvarchar 吗,您是否使用 N'' ("INSERT
resources(id, somefield) VALUES (20004, N'Iñtërnâtiônàlizætiøn');")?跨度> -
这是一个 nvarchar,我使用的是 N'
标签: c# mysql unicode encoding utf-8