6

最初は、問題はajax呼び出しからecho json_encode($ row)を返すときに、結果がNULLに変更されることだと思いました。しかし、テストした後、私は問題がそのずっと前に存在することを知りました。

サンプルのphpファイルで:

$test = "Nuñez"
echo $test

結果はただのヌエズです

私は周りを検索しましたが、提案された解決策はどれも機能しません。好き:

mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_http_input('UTF-8');
mb_language('uni');
mb_regex_encoding('UTF-8');
ob_start('mb_output_handler');

または<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />、またはheader('content-type: text/html; charset: utf-8');。そして、私がすでに忘れているいくつかの解決策は、私がたくさん試したと信じています。

これはほんの始まりに過ぎません。私のデータベースはutf-8であり、$ mysqli文字セットもそうであるため、mysqlで問題が発生しないことを望んでいます。しかし、私はajaxjson_encodeについて同じことを言うことはできないと思います。しかし、気にしないでください。一度に1つの問題が発生します。誰か助けてくれませんか。どうもありがとう!

問題の解決以前は「ANSIでエンコード」の場合と同じように、Notepad++で「UTF-8でエンコード」を設定する必要がありました。

4

6 に答える 6

6

私のため

$test = "Nuñez";
echo $test;

ヌニェスを示しています

あなたは試すことができます

$test = "Nuñez";
echo utf8_decode($test);

また

$test = utf8_encode("Nuñez");
echo utf8_decode($test);
于 2012-11-03T10:25:19.467 に答える
3

これを試して

その作品は私のために働きます。

$test = "Nuñez";

echo html_entity_decode(htmlentities($test));
于 2012-11-03T10:27:52.923 に答える
2

ñ Ñ é í ó ú などのラテン文字を正しく表示するには、ブラウザで UTF-8 エンコーディングの代わりに iso-8859-1 を使用する必要があります http://www.w3schools.com/tags/ref_entities.asp

よろしくお願いします!

于 2014-01-17T20:22:05.200 に答える
1

mysql db に接続するときは、-> のように charset を utf-8 に設定します。

$sql_con = mysql_connect($sql_host, $sql_user, $sql_pass);
mysql_query('SET NAMES utf8');
于 2012-11-03T10:29:19.723 に答える