ホームページ  >  記事  >  バックエンド開発  >  PHP utf-8 エンコードの問題、utf8 エンコード、データベース文字化け、ページ表示出力文字化け_PHP チュートリアル

PHP utf-8 エンコードの問題、utf8 エンコード、データベース文字化け、ページ表示出力文字化け_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:12:39820ブラウズ

昔の話は、うまく扱わないと文字化けしてしまう問題についての話ですが、私がコーディングに熟達しているわけではありません。ちょっとした体験談をまとめてみました(簡単 文字化けが発生する箇所はphpファイル、データベースに格納されているエンコーディング、ページ表示、データ送信など):

1. データベースを構築する場合、特に phpMyAdmin を使用して MYSQL を扱う場合、通常は utf-8 で、フィールドは utf8_general_ci です

データベース設定:

my.ini ファイルを確認します:
[mysql]
default-character-set = utf8
[mysqld]
default-character-set = utf8
init_connect = 'SET NAMES utf8 '
すべてを utf8 に設定します
保存して再起動しますmysqlサービスを開始します

2. データを扱うときは、mysql_query("set names 'utf8'"); utf-8 ではなく utf8 に注意してください。

3. PHP ファイルのデフォルトのエンコードは ANSI なので、UTF-8 に変換する必要があります。注: UTF-8 + BOM は選択できません。これを選択すると、セッションの処理時に問題が発生するため、Eclipse、Myeclipse、ZendStudio で開発する人もいます。Eclipse のデフォルトは ISO-8859 です。 -1 (必須) 「ウィンドウ」→「環境設定」、左側の「全般」→「ワークスペース」で「環境設定」ウィンドウを開き、「テキスト ファイルのエンコーディング」でデフォルトのエンコーディングを utf-8 に設定します。 「

4. PHP ファイルに次のように記述する必要があります:

または


コードをコピーします コードは次のとおりです:
また、中国語などのダブルバイトを処理する場合にも文字化けが発生することがあります。その他については、PHP のヘルプマニュアルを参照してください。
6. 何か (不足している点) を追加するには、データを転送するときにエンコードの問題が発生する可能性があることを知っておく必要がありますが、転送されたデータにどのようなエンコードが使用されているかがわかりません。参考までに私が書いた簡単な方法をご紹介します
/文字列エンコードを検出
$ filename = mb_convert_encoding($ filename、 "utf-8"、$ code); // $ codeをutf-8エンコードにエンコードして、システムが正しくインストールされ、mbstringを構成しているかどうかを確認します。
php.iniでmbstringが有効になっていることを確認してください
7. 上記のコードが一貫していることを確認してください。 !データベースと Web ページの出力が文字化けすることはなくなります。何か問題がある場合は、メッセージを残して指摘してください。 !

http://www.bkjia.com/PHPjc/326673.htmlwww.bkjia.com
tru​​e

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

技術記事

長々と話してしまいましたが、下手すると文字化けしてしまう人が多い問題です。この点に注意する必要があります...





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。