我想使用以下代码将unicode数据从xml字符串保存到数据库中:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlText);
using (XmlNodeReader xmlReader = new XmlNodeReader(xmlDoc))
{
DataTable dt = new DataTable();
dt.TableName = "sms";
dt.Columns.Add("rowID");
dt.Columns.Add("origAddr");
dt.Columns.Add("time");
dt.Columns.Add("message");
dt.ReadXml(xmlReader);
return dt;
}
Run Code Online (Sandbox Code Playgroud)
但是当我将数据表保存到数据库中时,我的unicode字符会出现问号(???????)
我的数据库归类是正确的,并且正确存储了其他unicode字符.
因为英文写作不好,我向你道歉:)
通常,当源文本未存储为 Unicode 时,就会发生这种情况。例如,如果您从文本文件中读取 xml 数据,并且该文本文件存储为 Ansi(使用代码页),或者存储为没有 BOM(字节顺序标记或签名)的 Unicode 文件,则当您读取文本时文件中,非 ASCII 字符可能无法正确读取。
要解决此问题,请在文本编辑器(例如Notepad++)中打开源 xml 文件,并将编码更改为 Unicode 或 UTF-8,然后保存文件。
您还可以在记事本中打开文件,并将文件另存为 Unicode(文件/另存为 -> 编码:Unicode 或 UTF-8)。确保在记事本中打开文件时,字符显示正确。
| 归档时间: |
|
| 查看次数: |
1438 次 |
| 最近记录: |