SQL db from ASCII to Unicode



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

我的问题的例子:

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

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

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

我构建了以下函数:

 public static string FixString(string textString)
        {
            textString = Regex.Replace(textString, "[trn]*", 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;
        }

这就成功了!!

最新更新