ホームページ > バックエンド開発 > PHPチュートリアル > mysqlの文字化けに関する問題

mysqlの文字化けに関する問題

WBOY
リリース: 2016-06-13 13:21:34
オリジナル
842 人が閲覧しました

mysqlの文字化け問題
ネットで情報を調べてみましたが、私には影響がないようです。

現在の mysql のデフォルトは latin1 です

データベース utf-general-ci を作成しました。テーブルとフィールドも utf-general-ci で、mysql コマンドでクエリします:
show 'collat​​ion_%' のような変数;
----------------------------------
collat​​ion_connection- > ;latin1_swedish_ci
collat​​ion_database ->utf8_general_ci
collat​​ion_server ->latin1_swedish_ci

「character_%」のような変数を表示;
------------- -- -------------------
character_set_client ->latin1
character_set_connection->latin1
character_set_database->utf8
character_set_filesystem -> binary
character_set_results ->latin1
character_set_sever ->latin1
character_set_system ->utf8



.php はすべて utf-8 でエンコードされています。 Web サイトに中国語を直接書くのは正常であり、すべてが正常です。

しかし、mysql に格納されている実際のデータは文字化けしており、mysql コマンド内のクエリも文字化けしています。

mysqlのデータベースに漢字を普通に保存することは可能でしょうか?

mysql コマンドラインで直接クエリを実行し、中国語も表示したいのですが、どうすればよいですか?

-----解決策--------------------------------
そのため、場所のエンコーディングは一貫したままです
ページ、データベース、テーブル、プログラム ソース ファイル。 。 。 。
------解決策---------
mysql コンソールにセット名 gbk を入力します

その後、クエリは通常になります (Windows) Linux の場合は、名前を utf-8 に設定します
------解決策------------------
character_set_results を utf8、ターミナル入力: set に設定してみます。 Character_set_results=utf8
私の show 変数とあなたの show 変数を 'character_%'; のように比較したため、先ほどテストして、character_set_results を latin1 に変更したところ、文字化けが発生しました。
------解決策----------------------
mysql クライアントは gbk を使用する必要があります。これは可能です。 mysql 設定ファイルで変更する必要があります。サーバー側は Utf-8 で、クライアント側は gbk を使用します。
-----解決策---------
書き方が間違っているかもしれません。

mysql の内部処理については心配する必要はありません。set は、mysql 接続で最初にクライアント文字セットに名前を付けます。

Web サイトが utf8 の場合、接続後の最初の作業は、名前を utf8 に設定することです。

文字セットが相互に互換性がある場合、テーブルに保存されたデータは正しく取得され、文字セットに変換されます。
------解決策---------
データベースに挿入した時点ですでにめちゃくちゃですそうですね。データベースのエンコーディングを変更して、データを再インポートします。ちなみに、ご指摘のエンコーディングは以前から使用していましたが、UTF-8との違いはないようです。
------解決策----------------------
デフォルトの mysql は latin1
.php です。すべて UTF-8 でエンコードされており、Web サイト上で直接中国語を読み書きでき、すべてが正常です。

これは正常であり、目的の効果は同じです。


しかし、mysql に格納されている実際のデータは文字化けしており、mysql コマンドのクエリも文字化けしています。

mysql コンソールでのクエリのことを指しますか?
少なくともコンソール環境は utf-8 エンコードをサポートする必要があります
utf-8 でエンコードされたコンテンツを gbk 環境で見ると、当然文字化けします


今はできません通常、mysqlにデータベースを中国語で保存できますか?
mysql コマンドラインで直接クエリを実行し、中国語も表示したいのですが、どうすればよいでしょうか?
文字化けを回避したい場合は、動作環境と同じ言語エンコーディングを使用する必要があります

データベースにコンテンツがある場合は、my.ini を変更しないでください。混乱がさらに大きくなるだけです

------解決策----------------------
うまくいかない場合は、次のことをお勧めします。エンコードタイプ

を選択する場合は再インストールしてください。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート