【发布时间】:2012-02-27 16:11:45
【问题描述】:
我想使用以下代码将 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;
}
但是当我将数据表保存到数据库中时,我的 unicode 字符会出现问号 (???????)
我的数据库排序规则正确,其他 unicode 字符存储正确。
【问题讨论】:
-
请附上代码以将数据保存在您编写的数据库中。
-
您使用的是什么类型的数据库? MySQL、SQL Server、MS Access?什么版本?此外,请向我们展示此代码产生的表定义。我对表和数据库的字符集特别感兴趣。
-
除了之前的cmets,还可以尝试使用一些其他的字体来查看数据库的内容。数据实际上可能已正确存储,但它所呈现的字体不包含某些字符,并且您用于查看数据的任何软件都回退到
?占位符。不是最有可能的解释,但很容易检查是否值得;)