2012-12-19 61 views
0

我的SQL Server 2008 R2數據庫有字符串列(nvarchar)。一些舊數據顯示ASCII。我需要將其展示給我的網站中的用戶,我更願意將數據庫中的數據轉換爲Unicode。有沒有快速的方法來做到這一點?我應該知道哪些缺點?從ASCII到Unicode的SQL數據庫

例子給我的問題:

在數據庫中,我看到的特殊字符,而不是常客字符。我有一個應該是Amédée的用戶名,而代之以Am?d??

在其他情況下,我看到"而不是引號("),或字符&#,而不是字"and"

+0

您如何查看數據庫中的數據?選擇語句? SSMS?你的網頁? –

回答

0

那麼,如果你的數據庫中有重音字符,那絕對不是ASCII碼。先找出你/他們在舊數據庫中使用的代碼頁,然後將其轉換爲UTF-8,並保存到新的數據庫中。

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; 
     } 

而且奏效了!