データベース php の文字化けを解決するにはどうすればよいですか?
最近Apache php MySqlを使ってWebサイト作成の練習をしているのですが、データを保存する過程でHTMLフォームに入力した中国語がphp経由でデータベースに保存され文字化けして表示されてしまいます。 Baidu で検索するとさまざまな意見があり、とても心配していましたが、中国語、英語、その他の文字のエンコード形式が utf8 に設定されているという有益な情報をいくつか見つけました。
推奨: 「PHP チュートリアル 」
1. 次の文を HTML コードに追加します:
図 1 ##図 2 2 . テーブルの作成時にこの属性を設定するのを忘れた場合でも、心配する必要はありません。別の方法があります。まず、属性を変更するテーブルを選択し、[操作] をクリックして変更します図 2 に示すように、その属性を確認すると同時に、changeall 列をチェックして確認することもできます。文字化けが発生しないようにするには、utf8-general-ci を一部のフィールドまたはすべてのフィールドに追加することもできます。テーブル。具体的な操作: 変更する必要があるテーブル (tb_product) -> 構造 -> すべてチェック -> 変更をクリックし、各フィールドの照合順序を個別に設定します。図 3 に示すように。 図 3 注: テーブル全体に対してエンコーディングを utf8-general-ci として選択せず、テーブルの一部のフィールドは utf8-general-ci 形式に設定されています。操作を通じてテーブル属性を確認すると、テーブル全体のエンコーディングが次のようになっていることがわかります。たとえば、形式が gbk-chinese-ci の場合、 HTML エンコードが utf8 の場合でも文字化けが発生するため、最も重要なのはテーブル全体の照合順序を utf8-general-ci に設定することです。図 4 と図 5 に示すように、図 4 では pro_name と pro_Producer は utf8-general-ci でエンコードされているように見えますが、テーブル全体のエンコードを見ると、まだ gbk 形式のままです。文字化けが依然として表に表示される可能性があります。 それでは、簡単にまとめると 4 つのポイントです: 1. Zend Studio で php または html コードを記述する場合は、まず、作成したプロジェクトの表示エンコード形式を変更しますutf8 形式に; 2. HTML で を使用して、Web のエンコード形式を表示します書き込むページ; 3. データベースに接続するときは、データベース (テーブルではなく) を選択した後、mysql_qurry("set names utf8") を使用します; 4.上記のデータベースでは、テーブル全体を変更します。エンコード形式は utf8-general-ci に設定されます。 写真 4 写真 5
以上がデータベースPHPの文字化けコードを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。