JQueryのajaxを介してHTTPリクエストを送信しています。
しかし、私がアクセスできないサーバーはISO-8859-1を返し、私のページはUTF-8です。
文字を読みやすく変換するにはどうすればよいですか?
変換せずに次のように表示されます:it�rio
@Edit:次を使用してajaxリクエストの文字セットを変更してみました:
$.ajax({ contentType: ... });
そして、htmlのメタをISO-8859-1に変更しようとしました。
@Solution:解決策を見つけました: https://stackoverflow.com/a/14397845/3451442
次のトリックを試してください。 javascriptを使用して特別なUTF-8文字をiso-8859-1に相当するものに変換するにはどうすればよいですか?
あなたの場合、あなたは単に使うことができます:
utfstring = unescape(encodeURIComponent(ajaxreturn));
編集:これも機能しない場合は、逆の方法を試してください:
fixedstring = decodeURIComponent(escape(ajaxreturn));
「エンコード」関数の出力を投稿する場合にも役立つ場合があります。これにより、何が起こっているのかを特定できます。
encodeURIComponent(ajaxreturn)
vs.
escape(ajaxreturn)
これらのいずれも機能しない場合は、ページ全体をiso-8859-1に変換する必要があると思います。
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />