MVC設計模式用於用戶註冊表單提交到數據庫的中文亂碼問題

本文引用自:http://blog.csdn.net/wangchangshuai0010/article/details/12714575

java.sql.SQLException: Incorrect string value: '\xE6\x88\x91\xE7\x9A\x84...' for column 'groupName'

 

今天使用mysql,用java程序往mysql中寫數據,出現以下錯誤:java

java.sql.SQLException: Incorrect string value: '\xE6\x88\x91\xE7\x9A\x84...' for column 'groupName' at row 1mysql

甚是糾結,我本來覺得應該是如下問題之一:sql

(1).建立數據庫的時候數據編碼設置錯誤數據庫

(2).鏈接數據庫的時候數據編碼設置錯誤post

對於(1),我刪除來原來的數據庫,從新建立一個新的數據庫在設置編碼時,個人設置以下:編碼

character set:utf8 -- UTF-8 Unicodespa

collation:utf8_general_ci.net

例如:code

 create database myuser default character set utf8 collate utf8_general_ci;blog

發現這樣設置以後,不能解決這個問題。

對於(2),我將鏈接語句寫爲:

"jdbc:mysql://" + ip + ":3306/users?useUnicode=true&characterEncoding=utf8"

但問題仍然沒有解決。

又仔細觀察我寫的程序,發如今程序中有向數據庫中建立表的操做,語句以下:

"create table  friendsList (qq varchar(7) primary key,remark varchar(20),groupName varchar(20)) ;"

這樣,問題變得明朗了,原來建立每張表的時候都必須設置數據編碼方式,改後的語句以下:

 "create table  friendsList (qq varchar(7) primary key,remark varchar(20),groupName varchar(20)) charset utf8 collate utf8_general_ci;"

 

總結一下,引發本文章標題這樣的問題的緣由有如下幾個:

 

(1).建立數據庫的時候數據編碼設置錯誤

  

 create database myuser default character set utf8 collate utf8_general_ci;

 

(2).鏈接數據庫的時候數據編碼設置錯誤

"jdbc:mysql://" + ip + ":3306/users?useUnicode=true&characterEncoding=utf8"

 

(3).建立表的時候數據編碼設置錯誤

 

 "create table  friendsList (qq varchar(7) primary key,remark varchar(20),groupName varchar(20)) charset utf8 collate utf8_general_ci;"

相關文章
相關標籤/搜索