0

我的 SQL Server 2008 R2 数据库具有字符串列 (nvarchar)。一些旧数据显示 ASCII。我需要在我的站点中向用户展示它,并且我更喜欢将数据库中的数据转换为 Unicode。有没有快速的方法来做到这一点?我应该注意哪些缺点?

我的问题的例子:

在数据库中,我看到特殊字符而不是常规字符。我有一个应该是的用户名Amédée,而是显示Am?d??

在其他情况下,我看到"的不是引号 ( "),或者是字符&#而不是单词"and"

4

2 回答 2

0

我构建了以下功能:

 public static string FixString(string textString)
        {
            textString = Regex.Replace(textString, "[\t\r\n]*", String.Empty);
            textString = Regex.Replace(textString, "(\\ )+", " ").Replace("  ", " ").Trim(); // .Replace("-", " ");
            textString = Regex.Replace(textString, "\\(.*?\\)", String.Empty);
            textString = HttpUtility.HtmlDecode(textString).Trim();
            textString = Regex.Replace(textString, "<.*?>", String.Empty);
            return textString;
        }

那成功了!

于 2013-01-11T12:57:45.470 回答
0

好吧,如果您的数据库中有重音字符,那肯定不是 ASCII。首先找出您/他们在旧数据库中使用的代码页,并将其转换为 UTF-8,然后保存到新数据库。

于 2012-12-19T16:08:39.763 回答