最初は、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でエンコード」を設定する必要がありました" 前。
私のために
$test = "Nuñez";
echo $test;
ショーヌニェス
あなたは試すことができます
$test = "Nuñez";
echo utf8_decode($test);
または
$test = utf8_encode("Nuñez");
echo utf8_decode($test);
これを試して
それは私のために働きます。
$test = "Nuñez";
echo html_entity_decode(htmlentities($test));
ブラウザでñÑáéíóúなどのラテン文字を正しく表示するには、UTF-8エンコーディングの代わりにiso-8859-1を使用する必要があります http://www.w3schools.com/tags /ref_entities.asp
宜しくお願いします!
mysql dbに接続するときは、->のようにcharsetをutf-8に設定します。
$sql_con = mysql_connect($sql_Host, $sql_user, $sql_pass);
mysql_query('SET NAMES utf8');
文字列「CASTAÑO」で同じ問題に直面します。
投稿されたソリューションを試しました。
ini_set('default_charset', 'utf-8');
ディレクティブを使用しました。
default_charsetの設定を検討してください。これは私にとってはうまくいきました
ini_set( 'default_charset'、 'utf-8');