皆様のご協力をお待ちしております、Niu X さん、こちらに来てください PHP が mysql に文字化けを挿入する 設定はすべて完了しましたが、それでも動作しません
PHP で mysql に挿入されたデータがターミナルから文字化けします。
環境: LAMP
1. Mysql エンコード設定は次のとおりです:
mysql> のような変数を表示します。 ---------- --------+-------------------------- ----+
| 値 |
+ -----------------------------+--- -------------------- -----+
| 文字セット_接続 |
| 文字セット_サーバー |
| 文字セット_ディレクトリ |
------- --------+----------------------------+
8 行in set (0.00 秒)
2. Mysql のグローバル設定は次のとおりです:
/etc/my.cnf
[client]
default-character-set='utf8 '
[mysqld ]
default-character-set='utf8'
3. PHP 接続エンコード設定は次のとおりです:
function db_connect()
{
$result= new mysqli('IP','db','user','passwd');
mysql_query("SET NAMES 'UTF8'");
4. PHP ページのエンコード設定は次のとおりです:
設定できるものはすべて設定されています。phpmyadmin とターミナルでまだ文字化けしたコードが表示されるのはなぜですか? ! ! ! !
追記: phpmyadmin とターミナルのエンコーディングも UTF8 に設定されています
誰かこの問題の解決を手伝ってくれませんか?材料をありがとう!
-----解決策---------
mysql の場合utf8 を設定するには、「utf8」を使用し、ページでは utf-8 を使用します。
文字化けを解決するには、段階的なデバッグ/観察が必要です
まず、ページのエンコーディングを確認してください, ページを開くときにブラウザで使用されるエンコード形式を確認します。次に、$_POST と $_GET から送信したデータを印刷し、前から後ろへの送信中にエンコードの問題がないか確認します。
次に、データベースに書き込む前にチェックします。
これには、通常、データベースに書き込むために確認された正しいクライアントに変更して、データベースのパフォーマンスを確認することが含まれます。 。
------解決策----------------------
ページは MYSQL では UTF-8
ですUTF8です
お間違えのないようご注意ください。
また、プログラムのエンコードが UTF-8 である限り、Web ページを設定する必要はありません。
------解決策---------
次に、EditPlus 3 を使用して utf-8 タイプとして保存します。
そこでの Mysql 接続: mysql_query('set names utf8') ;
------解決策---------
話し合う
mysqliを使用してデータベースに接続する場合、mysql_query("SET NAMES 'UTF8'"); が機能しない理由はわかりません。 $result=new mysqli('localhost','root','','db');
$result->query("set names 'utf8'");