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 に答える