ホームページ  >  記事  >  バックエンド開発  >  PHP+MYSQL_PHPチュートリアルの文字化けの解決方法

PHP+MYSQL_PHPチュートリアルの文字化けの解決方法

WBOY
WBOYオリジナル
2016-07-21 15:50:28899ブラウズ

JSPの文字化け問題は解決したはずですが、私を含めMYSQLの文字化け問題がまだ解決していない人もいるそうなので、今度は完全に文字化けを解決できればと思い、さらに情報を探してみましたMYSQL データベースに問題があります。
最初の方法、非常に洞察力のある要約:
仮想ホストは頻繁に変更され、各サービスプロバイダーの MYSQL バージョンが異なります。データをインポートすると、文字化けが発生して正常に表示できないなどの問題が常に発生します。多くの情報を確認した結果、私は次のように結論付けました。 いくつかのヒント:

WINDOWS でのインポートは次のようになります
MYSQL コマンドを使用します
DOS コマンドで mysql の bin ディレクトリを入力し、mysql -uroot -p パスワード データベース名 < を入力します;復元するデータベース。たとえば、D ドライブを使用します。test.sql という名前のデータベースがローカルの test2 データベースに復元され、次のようになります。 mysql -uroot -p パスワード 外部ホストによって使用される Mysql test2以前はGBKに関わらず4.x系の方が良い感じです UTF-8でも文字化けはありませんでした 新しいホストのMysqlがバージョン5.0であるとは予想外でした データをインポートした後。 Phpで読んだところ疑問符だらけで文字化けしたことを思い出しました。理由はMysqlのバージョンの違いによるものでしょう。

情報を確認する必要があり、解決策を見つけました。それは、UTF8 データベースの文字化けを除去するために、mysql_connect の後に SET NAMES UTF8 を追加することです。コードは次のとおりです。 = mysql_connect ($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'")


データベースの文字セットは utf-8 です

これを接続ステートメントに使用します
mysql_query("SET NAMES 'UTF8'") ;
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");

もう 1 つの方法は、独自のマシンをお持ちの場合、MYSQL 文字セットを変更することです。通常は MYSQ4 と MYSQL5 で有効です


2 番目の方法: 非常にわかりやすい説明なので、試してみてください

Mysql 文字化けコード処理の概要:

(1) Java では中国語の文字が正常に処理され、文字化けが表示されますcmd クライアントでは文字セットが問題です。

(2) フィールドの長さは十分に長く設定されていますが、中国語の文字を挿入すると、「com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column」というエラーが表示されます。問題は文字セットです

(3) コードの文字化けの問題 最終的には、これは文字セットの問題です。つまり、文字セットの設定は、サーバー、クライアント、データベース、接続、結果のみを考慮してください。

--------------- -----------解決策---------------------- -

(1) my.ini(MySQLサーバーインスタンス構成ファイル)を変更します

http://www.bkjia.com/PHPjc/319322.html

tru​​ehttp://www.bkjia.com/PHPjc/319322.html技術記事 JSPの文字化け問題は解決したはずですが、MYSQLの文字化け問題が私を含めてまだ解決していない人もいるそうなので、今度こそ完全に解決したいと思い調べてみました…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。