0

英語以外の文字をテキスト ボックスに表示したい。

私は試しています

$("#txtSearch").val('<%:Html.Raw(ViewBag.my_search)%>')

「2100 - København Ø」と表示されるはずですが、「2100 - København Ø」と表示されています。

私のコントローラーは、Cookie からこの値を読み取り、それを ViewBag に割り当てます。私が持っているコントローラで

ViewBag.my_search = cookie.Value 
// here it is assigning the right danish word but when it displays inside the input  box, it just displays wrong.

これを解決する方法はありますか??

編集:

私のローカル PC では問題なく動作していますが、リモート ホスティング プロバイダーにホストすると、うまく動作しません。

4

1 に答える 1

1

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />実際の http ヘッダーによってオーバーライドされるため、ページのエンコーディングを設定する良い方法ではありません。そのため、リモート ホスティング プロバイダーが content-type ヘッダーを送信している場合、それは無視されます。

データは正しく utf-8 であるため、問題ありません。ブラウザがそれを windows-1252 ではなく utf-8 として読み取るように、コンテンツ タイプの http ヘッダーを設定するだけです。

ヘッダーを送信するように個々のページを設定できます。

<%@ Page RequestEncoding="utf-8" ResponseEncoding="utf-8" %>

または、Web.config でグローバルに設定できます。

<configuration>
  <system.web>
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
  </system.web>
</configuration>
于 2012-12-06T17:53:51.387 に答える