2011-08-04 15 views
0

aspxページで、スクロール文字が間違った方法で表示されています。それは "Reunion"の代わりに "Réunion"のように表示されますか?この値はOracleデータベースから取得されますか?この問題を解決するための回避策を提案してください。注:CultureおよびUICulture属性は、で試行されます。しかし動作していません "スウェーデン文字をaspxページに表示

+0

ページ自体の文字エンコーディングとは何ですか?コンテンツタイプのメタタグとヘッダーの値は何ですか? – Oded

+5

推奨読書:http://www.joelonsoftware.com/articles/Unicode.html – Oded

答えて

0

まず、Oracleデータベースから正しく文字列を受け取るかどうかを判断します(デバッガでは、受信した文字列を表示します)。文字列がすでに誤って受信されている場合は、接続でデータベースの文字セットを正しく設定していないことを意味します。それを修正する必要があります。厄介な回避策は、文字化けした文字列をEncoding.UTF8.GetString(Encoding.GetEncoding(1252).GetBytes(garbledString))のように "ungarble"することです。

3

デフォルトのUTF-8とは異なるHTMLページにエンコードを使用するか、データベースから間違った値を読み取っているかを確認してください。FirebugまたはIE Dev Toolsとドキュメントエンコーディングでエンコードヘッダを確認できます。データベースでの列があなたがエンコードが必要になり、その場合にはUnicodeまたはASCIIであるかどうかをチェックすることができます。あなたは

  1. が直接C#の文字列にいくつかのスウェーデン語のテキストを追加し、ラベルに割り当てないことができる2つの簡単なテストがあります。
  2. データベースから値を取得した後にブレークポイントを設定し、デバッガでiがチェックされているかどうかを確認しますデバッガウィンドウに正しく表示されます。

1が正しく表示されないが、2が正しく表示されない場合は、ページのエンコードに問題があります。 1が正しく表示されていても2が表示されていない場合は、データベースに値を読み書きするときに問題があります。

関連する問題