ホームページ  >  記事  >  データベース  >  mysqlの文字化け問題を解決する方法

mysqlの文字化け問題を解決する方法

藏色散人
藏色散人オリジナル
2020-11-02 09:59:272036ブラウズ

mysql の文字化けの解決策: まず、server\MySQL フォルダーを開き、次に my.ini ファイルを開き、最後にコード「character_set_server=gbk」を追加します。

mysqlの文字化け問題を解決する方法

推奨: 「mysql ビデオ チュートリアル

Java ウェブサイト MySQL データベース個別の文字化け問題

文字化けの問題は非常に厄介で、特に微量の文字化けは非常に厄介です。ここでは、個人開発中に遭遇したコード文字化けの問題について共有したいと思います。

方法・手順

文字化けが発生する場所、フロントを確認してください。

ここで、編集者は Firefox ブラウザの Firebug ツールを使用してフロントエンド JSP ページをチェックし、投稿が確かに utf8 データであることを発見しました。したがって、フォアグラウンドでデータを送信する際に文字化けが発生することはありません。

文字化けが発生する場所、つまり背景を確認してください。

私の同僚はフロントエンドデータの受信にStruts formbeanを使用しているため、編集者はそれについてあまり知りません。そこで私は、文字化けしたコードを生成するデータ送信プロセスを見つけて、それぞれのメソッドを確認するという愚かな方法を使用しました。出力を追加し、バックグラウンドで出力データを表示します。

結果として、これらのデータも正常です。

文字化けが発生する場所 - MySQL データベースを確認してください。

フロントエンドとバックエンドを除外すると、データベースのみが残ります。次に、問題はデータベースにあります。

編集者はまず文字化けした漢字をデータベースに直接記録し、保存できることを発見しました。データベース テーブルのテキスト エンコーディングの問題は解決されました。

その後、編集者がツール ソフトウェアでクエリを実行しました (ステートメント: show variables like '%char%';)。結果は次のようになります。問題はすぐに判明しました: gb2312 の漢字は完全ではないため、一部の漢字はエンコードされていません。このとき、これらの漢字は強制的に「?」に変換されます。この時点で、この漢字のデータは失われ、復元することはできません。

mysqlの文字化け問題を解決する方法

理由の詳細な説明:

実際には、MySQL データベースに出入りするデータにはいくつかの変換手順があります。

入力時:character_set_clientからcharacter_set_connection、そしてcharacter_set_serverへ移行し、データベースに保存されます。

取り出し時:データベースを取り出し、character_set_server~character_set_resultに変換します。

データベースに出入りするデータは、character_set_server によって変換される必要があることを理解する必要があります。したがって、それがフロントデスクの正しい漢字であっても、データベース内の正しい漢字であっても、そうでない限り、 gb2312 では疑問符に変換されます。

解決策:

これに限りの方法として、エディターがserver\MySQL フォルダー内の my.ini ファイルを直接変更しました。

変更プロセスは次のとおりです。[mysqld] を見つけて、数行下を検索して「default_character_set=utf8」を見つけ、この行の下に「character_set_server=gbk」という行を追加します。

もちろん、gbk を使う必要はありませんが、編集者は念のため国家標準拡張子、つまり gb2312 の拡張子 gbk を使用しました。

以上がmysqlの文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。