例 1:
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. 記事タイトルを切り詰めて表示すると文字化けや「?」が表示される
次の関数を使用してタイトルをインターセプトすれば問題ありません:
リーリー
1. phpmyadmin を使用してデータベースとデータテーブルを作成します。データベースを作成するときは、「組織」を「utf8_general_ci」に設定するか、次のステートメントを実行してください。
データテーブルを作成する場合: フィールドに中国語が格納されている場合は、「組織」を「utf8_general_ci」に設定する必要があります。フィールドに英語または数字が格納されている場合は、デフォルトで問題ありません。
対応する SQL ステートメント、例:
2. PHP を使用してデータベースを読み書きします
データベースに接続した後:
2 行を追加します:
MYSQL データベースは通常どおり読み書きできます。
例 2:
php+mysqlのutf-8中国語文字化け問題の解決策
質問の概要:
1. mysql データベースのデフォルトのエンコーディングは utf8 です。このエンコーディングが PHP Web ページと一致しない場合、MYSQL コードが文字化けする可能性があります。 2. MYSQL でテーブルを作成するとき、このエンコーディングが Web ページのエンコーディングと一致しない場合、
コードが文字化けする可能性があります。3. MYSQL でテーブルを作成するときにフィールドを追加するときにエンコードを選択できます。このエンコードが Web ページのエンコードと一致しない場合、
コードが文字化けする可能性があります。4. ユーザーが送信したページのエンコーディングが、データを表示しているページのエンコーディングと一致しない場合、PHP ページが文字化けする可能性があります。
5. ユーザーが情報を入力するページが big5 コードであるが、ユーザー入力が表示されるページが gb2312 である場合、これにより PHP ページが文字化けします。6. PHP ページの文字セットが間違っています。
7.MYSQL データベースへの PHP 接続ステートメントで指定されたエンコーディングが正しくありません。
mysql+phpを使用する際に文字化けが発生する原因が明確に理解できたので、解決は難しくありません。
さまざまな問題の解決策:
1. mysql データベースのデフォルトのエンコーディングは utf8 です。このエンコーディングが PHP Web ページと一致しない場合、MYSQL コードが文字化けする可能性があります。
データベースのエンコードを変更します。データベースのエンコードが間違っている場合は、phpmyadmin で次のコマンドを実行できます。 リーリー 上記のコマンドは、テスト データベースのエンコーディングを utf8 に設定します。
2. MYSQL でテーブルを作成するとき、このエンコーディングが Web ページのエンコーディングと一致しない場合、コードが文字化けする可能性があります。
テーブルのエンコーディングを変更します:リーリー
上記のコマンドは、テーブル カテゴリのエンコーディングを utf8 に変更することです。
3. MYSQL でテーブルを作成するときにフィールドを追加するときにエンコーディングを選択できます。このエンコーディングが Web ページのエンコーディングと一致しない場合、
コードが文字化けする可能性があります。
フィールドのエンコーディングを変更します:リーリー
上記のコマンドは、テストテーブルのddのフィールドエンコーディングをutf8に変更することです。
4. ユーザーが送信したページのエンコーディングが、データを表示しているページのエンコーディングと一致しない場合、PHP ページが文字化けする可能性があります。
如果是这种情况容易解决,只需检查下页面,修改源文件的charset即可.
5.如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成PHP页面乱码.
这种情况也是修改页面charset即可.
6.PHP页面字符集不正确.
为了避免PHP页面乱码的发生,PHP页面开始第一句
header("content-type:text/html; charset=utf-8");
//强行指定页面的编码,以避免乱码
7.PHP连接MYSQL数据库语句指定的编码不正确.
在连接数据库的语句中.
mysql_connect('localhost','user','password'); mysql_select_db('my_db'); mysql_query("set names 'utf8'"); //select 数据库之后加多这一句
以上内容就是本文给大家介绍php页面,mysql数据库转utf-8乱码,utf-8编码问题总结,希望大家喜欢。