如何解決mysql jdbc中文亂碼問題

mysql jdbc中文亂碼的解決辦法就是在jdbc url中明確設置characterEncoding屬性為utf8,代碼如“jdbc:mysql://host:port/dbname?characterEncoding=utf8”。

如何解決mysql jdbc中文亂碼問題

本文操作環境:Windows7系統、Mysql5.7版、Dell G3電腦。

如何解決mysql jdbc中文亂碼問題?

jdbc mysql寫入中文亂碼解決

一. 問題

數據庫編碼:utf8

mysql> create database dbnameDEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

表編碼:utf8

drop table if exists `test`; create table `test` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(50) default '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間', PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8;

jdbc url:

url: jdbc:mysql://host:port/dbname

數據庫和數據庫表都已經使用了utf8編碼,但是插入中文數據時仍然亂碼。

二. 原因

在jdbc中連接mysql時,jdbc url參數中有一個屬性characterEncoding控制字符串編碼,該值默認為:autodetect。需要明確設置為utf8,可解決問題。

MySQL文檔解釋如下,詳見:https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html中”Setting Configuration Properties”部分詳細說明。

如何解決mysql jdbc中文亂碼問題

三. 解決辦法

在jdbc url中明確設置characterEncoding屬性為utf8

url: jdbc:mysql://host:port/dbname?characterEncoding=utf8

推薦學習:《mysql視頻教程

以上就是如何解決

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享