php と mysql のパスワードのほとんどは php とは関係ありません。文字化けの問題を解決するには、ページと mysql のエンコードを処理するだけで済みます。文字化けは中国語で発生するだけです。
PHP + MYSQL を使用すると、ランダムな文字の問題が発生しました。 解決策:
UTF8 データベースの文字化けを解消するには、mysql_connect の後に SET NAMES UTF8 を追加します。コードは次のとおりです。
コードをコピー | |
1 $mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
2 mysql_query("SET NAMES 'GBK'"); |
これを接続ステートメントに使用します
コードをコピー | |
2 mysql_query("SET CHARACTER SET UTF8"); 3 mysql_query("SET CHARACTER_SET_RESULTS=UTF8'"); |
一般的なエラー条件と解決策をいくつか示します:
注: 実際、MYSQL のデータ入出力は、上記で説明したものよりも複雑です。MYSQL 設定ファイル my.ini には 2 つのデフォルトのエンコーディングが定義されています。これらは、[client] と [ のデフォルトの -character-set です。 mysqld]。default-character-set は、クライアント接続とデータベース内部にデフォルトで使用されるエンコーディングを設定します。上記で指定したエンコーディングは、実際には、MYSQL クライアントがサーバーに接続するときのコマンド ライン パラメーターcharacter_set_client であり、デフォルトのエンコーディングを使用する代わりに、受信したクライアント データのエンコーディングを MYSQL サーバーに伝えます。
2. ページ宣言のエンコーディングがファイル自体のエンコーディングと一致しない場合、エンコーディングが一致しない場合、ページの作成時にアーティストがブラウザに表示する内容が文字化けしてしまうため、これはめったに起こりません。多くの場合、リリース後にいくつかの軽微なバグを修正し、間違ったエンコーディングでページを開いて保存することが原因で発生します。または、CuteFTP などの一部の FTP ソフトウェアを使用してオンラインでファイルを直接変更すると、ソフトウェアのエンコード設定が間違っているため、間違ったエンコードが変換されます。
3. バーチャルホストをレンタルしている一部の友人は、上記の 3 つのエンコーディングが正しく設定されているにもかかわらず、依然としてコードが文字化けしています。たとえば、Web ページが GB2312 でエンコードされている場合、ブラウザのエンコードを手動で GB2312 に変更すると、Web ページの HEAD はすでに GB2312 として認識されます。 、ページは正常に表示されます。その理由は、サーバー Apache がサーバーのグローバルなデフォルト エンコーディングを設定し、httpd.conf に AddDefaultCharset UTF-8 を追加するためです。このとき、サーバーは最初に HTTP ヘッダーをブラウザーに送信しますが、その優先順位はページ内で宣言されたエンコーディングよりも高くなります。当然、ブラウザーはそれを誤って認識します。解決策は 2 つあります。管理者は、AddDefaultCharset GB2312 を独自の仮想マシンの構成ファイルに追加してグローバル構成をオーバーライドするか、独自のディレクトリの .htaccess で構成する必要があります。
http://www.bkjia.com/PHPjc/632910.html