ホームページ  >  記事  >  データベース  >  mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法

mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法

王林
王林転載
2023-05-27 16:58:043856ブラウズ

mysql は中国語のデータを疑問符に挿入します

ステップ 1: まず、独自のコードの基本構成を確認します

1. Jdbc.properties データベース構成ファイルの背後以下の図に示すように、characterEncoding=utf-8 を追加しましたか:

mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法

そこにないことに気付いた場合は、ただ見るだけでなく、すぐに追加してください。

2.web .xml は次のようにエンコード フィルターで構成されていますか

mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法

# そうでない場合は、自分で判断できます。ご都合のよい場合は、それをコピーして以下に書いてください (そうですか? 非常に配慮されています)

<!-- 配置编码过滤器 -->
	<filter>
		<filter-name>characterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
	</filter>

ステップ 2: 上記 2 つのファイルに問題がないことがわかったら、この設定ファイルを見てみましょう。

1. データベースのエンコード形式を確認します

まずサーバーにログインし、データベースを入力して、データベース コマンドにログインします (以下のデータベース名は名前を指します)作成したデータベースの名前 (test など):

mysql - u root -p データベース名

次に、次のコマンドを実行してデータベースのエンコード形式を確認します

‘char%’;

mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法

問題を引き起こしているのはこの latin1 です。この問題を解決するにはどうすればよいでしょうか?

2. mysql 内部設定ファイルを変更する

最初に言っておきますが、最新のダウンロードされた公式 mysql インストール パッケージには my.ini がないようです。ファイルですが、my.ini ファイル. cnf ファイルが必要です。この時点では、サーバーにアクセスしてファイルがどこにあるかを確認する必要があります。もちろん、通常はルート ディレクトリの etc/ の下にあります。

コマンドライン: vim my.cnf

mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法

[Core] i コマンドを実行して編集モードに入り、[mysqlid] の下に次の文を追加します。また、中国語の文字エンコード形式には互換性があります。

character-set-server=utf8

mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法

: wq コマンドは保存して終了します。

3. mysql を再起動すると完了です

これら 2 つの実装をルート ディレクトリの bin で実行して停止および開始しました

systemctl stop mysqld.service
systemctl start mysqld.service

mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法

それから、誇らしげに mysql にログインし、上記のコマンドを実行してデータベースのエンコード形式を確認できます。

show variables like ‘char%&#39;;

mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法

これは驚くべきことではなく、予想外ではないでしょうか、はははは。

結局、たゆまぬ努力の末、中国のデータを入力することができました。はははは、自分に送金したいと心から納得しました。疑問符はそのままにします。

mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法

#問題解決

mysql に格納された漢字が疑問符になる

プロジェクト シナリオ

mySql 5.7

java

設定ファイル: spring.datasource.url=jdbc:p6spy:mysql://localhost:3306/XXX?useSSL=false

挿入操作:

@Insert("INSERT INTO foods(food_name,food_taste,food_price,food_description) VALUES (#{foodName},#{foodTaste},#{foodPrice},#{foodDescription})")
	int insert(Food food);

問題の説明

中国語の文字はデータベースに保存されるとどうなりますか? ? ? ?

mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法

原因分析:

データベースに接続するための設定には文字セットが必要です

解決策

解決策: data useUnicode=true&characterEncoding=UTF-8

spring.datasource.url=jdbc:p6spy:mysql://localhost:3306/XXX?useUnicode=true&characterEncoding=UTF-8&useSSL=false

wenti

mysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法 をソースに追加します。

以上がmysqlに中国語データを挿入するとクエスチョンマークになる問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。