mysqlの文字化け問題
ネットで情報を調べてみましたが、私には影響がないようです。
現在の mysql のデフォルトは latin1 です
データベース utf-general-ci を作成しました。テーブルとフィールドも utf-general-ci で、mysql コマンドでクエリします:
show 'collation_%' のような変数;
----------------------------------
collation_connection- > ;latin1_swedish_ci
collation_database ->utf8_general_ci
collation_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 を変更しないでください。混乱がさらに大きくなるだけです
------解決策----------------------
うまくいかない場合は、次のことをお勧めします。エンコードタイプ