mysql jdbc中文亂碼的解決辦法就是在jdbc url中明確設置characterEncoding屬性為utf8,代碼如“jdbc:mysql://host:port/dbname?characterEncoding=utf8”。
本文操作環境: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”部分詳細說明。
三. 解決辦法
在jdbc url中明確設置characterEncoding屬性為utf8。
url: jdbc:mysql://host:port/dbname?characterEncoding=utf8
推薦學習:《mysql視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦