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

王林
リリース: 2023-05-27 16:58:04
転載
3910 人が閲覧しました

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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート