私はこれと同様の問題を抱えています:jQuery AJAX文字エンコードですが、そこで言及されている解決策は私にとってはうまくいきます。
問題を示すために3つの簡単なファイルを作成しました。
PHPファイル:
//prueba.php
echo "nº one two € áéíóú";
JavaScriptファイル(私はJQueryを使用しています)
//Javascript file
function prueba() {
$.ajax({
type: "GET",
contentType: "application/x-www-form-urlencoded;charset=ISO-8859-1",
url: "prueba.php",
}).done(function( data ) {
$("#prueba").text(data);
//$("#prueba").html(data); //It does the same encoding error
});
}
** HTMLファイル:**
<html>
<head>
<title>E-COMMERCE</title>
<meta content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<script src="javascript/jquery.js" type="text/javascript"></script>
<script src="javascript/javascript.js" type="text/javascript"></script>
</head>
<body>
<a href="javascript:prueba()">Prueba</a>
<div id="prueba"></div>
</body>
</html>
そして、リンクPruebaをクリックすると、次のように表示されます。
Prueba
n� uno dos � �����
現在のWebサイトは完全に機能しますが、ajaxを使用せず、これを実行しているのと同じサーバーにあるため、返されるものではなくISO-8859-1を返すようにjqueryに指示するにはどうすればよいですか?理想は常にutf-8を使用することですが、utf-8に変更すると、現時点では余裕のない問題が発生します。