ホームページ >バックエンド開発 >PHPチュートリアル >あなたのPHP Webページは文字化けしていますか_PHPチュートリアル
一、
PHP を学習している子供たちが Web ページを作成する際、中国語のコンテンツを保存するようにデザインしている場合、最も一般的な問題の 1 つは文字化けです。コードが全体的に文字化けしている場合は、3 つの側面をチェックできます
(1)ヘッダーに独自のタグを追加するかどうかなど、Webページのエンコードが正しいかどうか
メタ文字セット="UTF-8">
(2) mysqlデータベースを保存する際に使用されるデフォルトの文字セットを確認します
(3) Webページファイルのエンコードが対応する中国語のエンコードかどうかを確認します
----------------
環境:win7+wamp2.2
----------------
二、
2 番目のポイント、mysq データベースで使用されるエンコーディング文字セットから始めましょう
(1) mysqlターミナルを開き、現在の設定を表示し、変更する範囲を決定します
'char%' のような変数を表示します;
(2) 結果に基づいて分析します、
1. 表示される結果が私と同じ場合、つまり (character_set_system のみ utf8 としてエンコードされている) 場合は、以下の手順を段階的に実行してください。
2. my.ini ファイルを開き、キーワード「mysqld」を検索し、見つかったら、次の行があるかどうかを観察します
character_set_server = utf8
そうでない場合は、私のようにその下に文を追加する必要があります
3. キーワード「client」をもう一度検索して、この行があるかどうかを確認してください
default_character_set = utf8
そうでない場合は、[client] の下に追加します
4. 保存し、mysql サービスを再起動し、mysql ターミナルを閉じます (そうしないと、表示されるクライアント コードは更新されません)
5.再度ターミナルを開いて再度入力してください
'char%' のような変数を表示します;
以下の結果が表示されれば、mysqlデータの設定は成功です
三、
Webページのファイルエンコーディングの問題は最も見落とされやすいですが、これはファイルのエンコーディング形式を保存するときに設定されます。
解決策:
1.notepad++を使用してWebページファイルを開き、「形式」--「UTF-8 BOMフリーエンコード形式に変換」に進みます
2.保存するだけです
問題分析:
1. phpを書くときに使っています
"font-size:18px;">'set names utf8' ?>
しかし、文字化けの問題はまだあります!
分析: 上記のステートメントを使用すると、3 つの項目のみが変更され、これらの 3 つの項目は
character_set_client
character_set_connection
character_set_results
そしてこの修正は一時的なものであり、端末を閉じた後は以前と同じになります
写真説明:
2. 3つ目のコード化けの問題を分析しましょう
(1)sublime text3を使ってphpファイルを編集して開きます。左下隅にエンコード情報が表示されます。現在のエンコードが gb2312 であることがわかります。
(2) Webページが読み込まれるとき、そのときに読み込まれる形式は、Webページが宣言しているため、ユーザーのブラウザが表示するときにWebページのファイルを読み込むことになります。文字セットはutf-8なので、取得したファイルの内容はutf-8の文字セットに従って解釈され文字化けが発生しますが、データベースから読み込んだ内容には問題ありません
Webページコーディング
オリジナルのgbkエンコードファイル
後のutf-8エンコードファイル
(3) sublime text3 は、変換が成功したことを示していますが、その後の表示は同じであることに注意してください。変換は成功しました
3. おっしゃる通りに修正したのに、mysqlターミナルで表示すると文字化けしてしまうのはなぜですか?
分析:
(1) まず、Windows の cmd で使用される文字セットを見てみましょう
cmd の文字セットは gbk であることがわかります。これは、端末に表示されるすべてのコンテンツが gbk 文字セットに対応することを意味します。ただし、表示したい場合、データベースの中国語設定は utf8 文字セットになります。当然、「データベースデータをutf8エンコードで読み込む」と表示されます。そのとき、ターミナルに到達すると、すべてがうまくいきませんでした。
(2)確認方法は?phpmyadmin を使用するだけです。もちろん、使用する utf-8 エンコーディングを設定する必要があります。
注: よりエキサイティングなチュートリアルについては、Bangkejia にご注目ください画像とテキストのチュートリアル チャンネル、
http://www.bkjia.com/PHPjc/1022667.html