Web サイトを国際化する必要がある場合、エンコーディングを GB2312 から UTF-8 に変換する必要があり、多くの問題が発生します。変換が完了していない場合は、コーディングに関する質問がたくさん出てきますのでご注意ください。
PHP ページを UTF-8 エンコードに変換する際の問題
1. コードの先頭に次の行を追加します: header("Content-Type: text/html;charset=utf-8");
2. PHP ファイルのエンコードの問題。エディタのメニュー「ファイル」→「名前を付けて保存」をクリックすると、現在のファイルのエンコードが ANSI であることを確認できます。エンコードを UTF-8 に変更する必要があります。
3. PHP ファイル ヘッダーの BOM 問題: PHP ファイルには BOM タグがあってはなりません。そうでない場合、セッションは使用できなくなり、同様のプロンプトが表示されます: 警告: session_start() [function.session-start]: セッション キャッシュ リミッターを送信できません- ヘッダーはすでに送信済み これは、 session_start() を実行するときにページ全体を出力することができないためですが、前の PHP ページに BOM タグが存在する場合、PHP は BOM タグを出力として扱うため、エラーが発生します。 したがって、BOMタグをPHPページから削除する必要があります
この BOM タグを削除する方法:
1. Dreamweaver でファイルを開いて再保存し、BOM タグを削除できます。
2. EditPlus でファイルを開き、メニューの「環境設定」->「ファイル」->「UTF-8 ID」で「署名を常に削除する」に設定し、ファイルを保存します。 BOM ラベルを削除できます。
3. PHP がファイルを添付ファイルとして保存するときの UTF-8 エンコードの問題: PHP がファイルを添付ファイルとして保存するとき、ファイル名は GB2312 でエンコードされている必要があります。そうしないと、ファイル名に中国語が含まれていると文字化けします。 : PHP 自体が UTF-8 エンコーディング形式のファイルの場合は、ファイル名変数を UTF-8 から GB2312 に変換する必要があります: iconv("UTF-8", "GB2312", "$filename");
4. 記事タイトルを切り詰めて表示すると文字化けや「?」が表示される
通常、記事タイトルが非常に長い場合、タイトルの一部が表示され、UTF-8 エンコード形式の中国語文字は幅 3 文字を占めるため、タイトルがインターセプトされると、記事タイトルのみが表示されることがあります。文字幅が 1 文字または 2 文字の場合、文字化けまたは「?」が表示されます。タイトルを切り取るには、次の関数を使用します。問題ありません:
リーリー
1. phpmyadmin を使用してデータベースとデータテーブルを作成します。データベースを作成するときに、「組織」を「utf8_general_ci」に設定するか、次のステートメントを実行してください。
リーリー
データテーブルを作成する場合: フィールドに中国語が格納されている場合は、「組織」を「utf8_general_ci」に設定する必要があります。フィールドに英語または数字が格納されている場合は、デフォルトで問題ありません。
対応する SQL ステートメント、例:
2. PHP でデータベースを読み書きする
データベースに接続した後:
2 行を追加します:
リーリー
www.bkjia.com