web-dev-qa-db-ja.com

ISO-8859-1をUTF-8に変換します

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

6
user3451442

次のトリックを試してください。 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" />
7
Niko