【发布时间】:2015-07-28 22:16:49
【问题描述】:
我在 Sql Server 的文本列中存储了一些法语字符(不是 ntext,而是文本)。当我在 html 上显示它时,我会在字符串中得到一些有趣的问号字符。
即使我将文本转换为 nvarchar(max) 并在 html 上显示,我仍然会遇到同样的错误。
如何将文本字段中的法语字符正确转换为 UTF-8?我正在使用 C#、.NET 4.5。
谢谢你, 考试成绩
【问题讨论】:
-
可能是也可能不是数据库问题。
-
请参阅:stackoverflow.com/a/11432833/1291428。大多数情况下,这个答案是针对 mysql 的,但有些部分适用于任何系统。
-
可能是 HTML 编码不匹配。试试
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -
text不会正确存储法语字符。你需要ntext。现在,如果您从text开始,然后“转换”为nvarchar,您已经丢失了Unicode 字符。您需要使用 unicode 字段类型ntext或nvarchar并重新导入数据。
标签: c# sql-server encoding utf-8