php の文字化けの解決策: 1. Dreamweaver を使用して新しいファイルを作成する; 2. mysql で文字セットを utf8 に設定する; 3. ファイルの先頭に "content="text/html" を記述するIndex.php ; charset=utf-8".
この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター
PHP のコード化けの問題のいくつかに対する解決策
今日、ついに完全な Web テンプレート システムを自分で書き始めました。最初から始めました。以前は、ウェブサイトにアクセスして、インターネットからテンプレートをダウンロードしました。その後、ページといくつかの動的コードを修正しました。その後は問題ありませんでしたが、今日は違います。ゼロから始めたので、これは私の卒業制作です、はは、まさかのタイトル私の卒業制作は「PHP テクノロジーをベースにした企業 Web サイトのテンプレート デザイン」なので、今日から MVC のテスト クラスをいくつか書き始めました。もちろん、最初に PHP ベースの MVC ゲストブック インスタンスをインターネットからダウンロードしました。このインスタンスには 6 つのプログラムがありますファイル:index.php プログラム エントリ、notebook.htm メッセージ フォーム、そして新しいフォルダーを作成します。このフォルダーには、MVC の 3 つの機能をそれぞれ実装する Model.php、View.php、Controller の 3 つのファイルと、DataAccess.php が含まれます。 (これは単純なデータベース アクセス クラスです。) 最初に、「システムは新しいテキスト ファイルを右クリックして、新しい php ファイルを作成します。初心者は、文字化けを引き起こすため、このような php ファイルを作成しないように注意してください。」を渡しました。中国語の文字。正しい方法は、Dreamweaver で新しい文字を作成し、ナビゲーション メニューの [編集] -> [優先パラメータ] -> [新しいドキュメント] を選択し、デフォルトのエンコードを「Unicode (UTF-8)」に設定することです。上記の方法に従わない場合、静的ページに戻るためにクラス内で return メソッドを使用する必要がある場合、PHP クラスを呼び出すときの問題を解決するには、「Unicode 署名 (BOM) を含める」のチェックボックスを削除します。 , コード化けが発生する可能性があります;
コード化けの問題:
1.index.php が View.php のメソッドを呼び出すと、中国語を取得するときに文字化けが発生します。 Dreamweaver を使用して新しいものを作成します。コード化けの問題を解決するには、上記の操作に従ってください。
2. utf-8 の文字セットを使用しているため、mysql も utf8 文字に設定する必要がありますたとえば、mysql の接続校正は utf8_general_ci で、テーブル内のフィールドの文字セットは utf8_unicode_ci です。index.php の先頭に、 < meta http-equiv="Content-Type" content= と記述します。 "text/html; charset=utf-8" /> を DataAccess.php に次のように記述します:
<?php class DataAccess { var $link_id; //用于存储数据库连接 var $query_id; //用于存储查询源 //! 构造函数. function __construct($host,$user,$pass,$db) { $this->link_id=mysql_pconnect($host,$user,$pass); //连接数据库服务器 mysql_select_db($db,$this->link_id); //选择所需数据库 mysql_query("SET NAMES 'utf8' ",$this->link_id); } function query($sql) { $this->query_id=mysql_unbuffered_query($sql,$this->link_id); // Perform query here if ($this->query_id) return true; else return false; } function fetchRows($sql) { $this->query($sql); $arr=array(); $i=0; while( $row=mysql_fetch_array($this->query_id,MYSQL_ASSOC) ) { $arr[$i]=$row; $i++; } return $arr; } } ?>
上記の操作を行うと、mysql から読み込んだデータが読み込まれない問題を解決できます。文字化けして見える。
[推奨学習: PHP ビデオ チュートリアル ]
以上がPHPの文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。