Linux での MySQL の文字化け問題の解決方法

Linux での MySQL の文字化け問題の解決方法

プロジェクトはサーバーと対話し、post を通じてサーバー側の jsp にアクセスし、jsp はサーバー側の mysql データベースにアクセスします。最終的に、クライアントに返される中国語のテキストは文字化けします。

プロセス全体では、エラーの原因として、ポスト エンコーディングが設定されていないかエンコーディングが一貫していない、JDBC に問題がある、Linux での mysql の初期エンコーディングに問題がある、という 3 つの理由が考えられます。

面倒なトラブルシューティングの後、最終的に問題は MySQL のエンコーディングの問題であることが判明しました。以下では、Linux で MySQL の中国語文字化けの問題を解決する方法について説明します。

まず、mysql コマンドライン モードに入り、mysql -uroot -p と入力して入力します。次に、 SHOW VARIABLES LIKE 'character_set_%';入力します。

表示内容が次のような場合:

+--------------------------+----------------------------------------------+
| 変数名 | 値 |
+--------------------------+----------------------------------------------+
| 文字セットクライアント | utf8 |
| 文字セット接続 | utf8 |
| 文字セットデータベース | utf8 |
| 文字セットファイルシステム | バイナリ |
| 文字セット結果 | utf8 |
| 文字セットサーバー | utf8 |
| 文字セットシステム | utf8 |
| 文字セットディレクトリ | /alidata/server/mysql-5.1.73/share/charsets/ |

変更は正しく行われ、MySQL のデフォルトの初期設定は utf8 ではなく latin1 になりました。

1 つの解決策は、テーブルのプロパティを utf8 に変更するか、テーブルの作成時に最後にDEFAULT CHARSET=utf8を追加することです。テーブルをutf8コードに設定します。このアプローチは失敗する可能性があります。

最も基本的な解決策は、MySQL 構成ファイルを開いて変更することです。 Linux の MySQL 設定ファイルの名前は my.cnf で、ディレクトリは /etc/my.cnf です。開いたら、次の手順に従います。

--[mysqld]タグの下に3行追加: default-character-set = utf8
文字セットサーバー = utf8
lower_case_table_names = 1 //テーブル名は大文字と小文字を区別しません(これはエンコードとは関係ありません)
--[mysql]タグの下に次の行を追加します: default-character-set = utf8
--[mysql.server]タグの下にdefault-character-set = utf8という行を追加します
--[mysqld_safe]タグの下にdefault-character-set = utf8という行を追加します
--[client]タグの下にdefault-character-set = utf8という行を追加します

上記のタグがすべて見つからなくても問題ありません。 MySQL コマンドラインを再度開き、 SHOW VARIABLES LIKE 'character_set_%';がまだ存在する場合は、MySQL コマンドラインで次のコマンドを実行します。

  • character_set_client = utf8 を設定します。
  • character_set_server = utf8 を設定します。
  • 文字セット接続を utf8 に設定します。
  • 文字セットデータベースを utf8 に設定します。
  • character_set_results = utf8 を設定します。
  • collat​​ion_connection を utf8_general_ci に設定します。
  • collat​​ion_database を utf8_general_ci に設定します。
  • collat​​ion_server = utf8_general_ci を設定します。

実行後、上記の show コマンドを再実行して目的の結果を取得します。

設定が完了したら、mysql を再起動する必要があります。再起動コマンドは /etc/init.d/mysqld restart です。

元のデータ テーブルを削除して再構築する必要があります。

ついに完成しました。

まとめ

1. /etc/my.cnf ファイルを変更し、次の行を追加します。

[クライアント]
# パイプ=
# ソケット=MYSQL
ポート=3306
デフォルトの文字セット=utf8
[mysql]
ビープ音なし
# デフォルトの文字セット=
デフォルトの文字セット=utf8
#サーバーセクション
# ----------------------------------------------------------------------
# 以下のオプションはMySQLサーバーによって読み込まれます。
# サーバーが正しくインストールされている場合(上記参照)は、次のように表示されます。 
# ファイル。
# サーバータイプ=3
[mysqld]
文字セットサーバー=utf8

2. mysql サービスを再起動します。

サービスmysqlを停止します。
サービスmysqlステータス;
サービスmysqlを開始します。
または、service mysql restart;

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • PHP で文字化けした中国語の文字を MySQL に書き込むためのサンプル ソリューション
  • MySQL 文字セットの文字化けとその解決方法
  • MySQL にテーブルデータを挿入するときに中国語の文字化けが発生する問題を解決する方法
  • JDBC 接続 mysql の文字化けしたコード例外問題の処理の概要
  • JDBC が MySQL に接続して中国語を処理するときに文字化けする問題の解決方法の詳細説明
  • MySQL データベースにおける中国語文字化け問題の詳細な説明
  • MySQLデータベース移行におけるデータ文字化けの問題を解決する

<<:  Linuxルートの初期値を設定する方法の簡単な分析

>>:  Vueはカウンターのシンプルな生成を実装します

推薦する

Navicat の MySQL へのリモート接続の実装手順の分析

序文皆さんはリモート サーバーで開発を行っており、MySQL の使用率はかなり高いはずです。コマンド...

CSS3は、欠けた角の長方形、折り畳まれた角の長方形、欠けた角の境界線を実装しています。

序文数日前、偶然、コーナーの四角形が欠落している機能に遭遇しました。最初に頭に浮かんだのは、必要な場...

WeChatアプレットwebViewにH5を埋め込む方法の例

序文WeChat ミニプログラムは新しいオープン機能を提供します!ついにミニプログラムにHTMLペー...

MySQL で浮動小数点データを文字データに変換するときに起こりうる問題の詳細な説明

序文この記事は主に、MySQL で浮動小数点型を文字型に変換するときに発生する問題を紹介します。これ...

Linux の権限管理コマンド (chmod/chown/chgrp/unmask) の詳細な説明

目次chmod例権限に関する特別な注意分析するチョーンchgrp umask Linux オペレーテ...

この記事では、CSSのようなJSモジュールをインポートする方法を説明します。

目次序文構築可能なスタイルシートとは何ですか? CSSモジュールスクリプトの使用インポートアサーショ...

MySQL 8.0.22 のインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 8.0.22のインストールと設定について記録します。具体的な内容は以下のとお...

将来的に人気のあるウェブサイトのナビゲーションの方向

<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...

MySQL クエリ ステートメントのプロセスと EXPLAIN ステートメントの基本概念とその最適化

ウェブサイトやサービスのパフォーマンスは、データベースの設計(適切な言語開発フレームワークを選択した...

JS を使用して Web ページのウォーターフォール レイアウトを実装する方法

目次序文:ウォーターフォールレイアウトとは何ですか?達成方法: 1. 画像を取得する2. 画像の帯域...

MySQL 5.7.27 のインストールと設定方法のグラフィックチュートリアル

MySQL 5.7.27の詳細なダウンロード、インストール、および構成チュートリアルは参考までに、具...

jsはブラウザを閉じるときにアカウントのログアウトを処理します

目次古典的なアプローチ質問その他の質問注意が必要な問題古典的なアプローチご存知のとおり、アカウントの...

Linux 圧縮ファイルコマンド zip の使用例

「.zip」形式は、Windows システムでファイルを圧縮するために使用されます。実際、「.zip...

Linux での MySQL 5.7.19 のインストールに関する問題の概要

初めて仮想マシンに MySQL をインストールしたとき、多くの問題が発生しました。ここでそれらを書き...