ホームページ > バックエンド開発 > PHPチュートリアル > php_PHP チュートリアルで mysql に書き込まれる中国語文字化けの問題の解決方法

php_PHP チュートリアルで mysql に書き込まれる中国語文字化けの問題の解決方法

WBOY
リリース: 2016-07-13 10:43:03
オリジナル
1005 人が閲覧しました

PHPでデータベースに接続するのは非常に簡単ですが、MySQLデータベースにデータを挿入して保存する際、ページとデータベースのエンコーディングを統一しないと中国語文字化けの問題が発生する可能性がありますので、これを防ぐ方法を紹介します。問題。

php での mysql の操作は非常に簡単ですが、最近小さなツールを作成しているときに、php から mysql に書き込まれるデータベースに文字化けが発生することに気づきました。この文字化けの問題は、明らかに私を悩ませていました。 、英語の文字は普通に書かれていますが、中国語は意味不明です。

最初、mysql データベースを作成するときに UTF-8 文字セットを設定しなかったように感じましたが、後でこの文字セットを設定しても、mysql に書き込まれる文字列の問題は解決できないことがわかりました。まだ文字化けしていました。

この問題を解決するのは実際には非常に簡単です。

1. テーブルを作成するときに、エンコードタイプを gb2312_chinese_ci に設定します。

2. PHP ページのデータベース接続ステートメントに行を追加します

mysql_query("SET NAMES 'gb2312'",$link); 例:

コードは次のとおりです$db_host="ローカルホスト"; $db_user="ルート"; $db_password="パスワード"; $db_name="テスト";
コードをコピー

$link=mysql_connect($db_host,$db_user,$db_password);

mysql_query("名前を設定 'gb2312'",$link);
$db=mysql_select_db($db_name,$link); $query="ユーザーから * を選択"; $result=mysql_query($query);



この行を書き込みページと読み込みページの両方に追加すると、MYSQL の漢字が正常に表示されるようになります。


設定ファイル my.cnf を変更する別の方法

コードは次のとおりです

コードをコピー

[mysqld]MYSQL を再起動して変更します。この変更は、character_set_server を utf8 に設定することです。
デフォルト文字セット=utf8

さて、php が mysql に中国語の文字化けを書き込む問題は、主にページとデータベース間のエンコーディングに注目し、mysql_query() を使用して設定します。

http://www.bkjia.com/PHPjc/633204.html


www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/633204.html

技術記事

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート