需注意以下三點:
1、建立資料庫的時候:create database `database`
character set 'utf8'
collate 'utf8_general_ci';
2、建表的時候 create table `database_user` (
`id` varchar(40) not null default '',
`userid` varchar(40) not null default '',
) engine=innodb default charset=utf8;
3、設定url的時候 jdbc:mysql://localhost:3306/database?seunicode=true&characterencoding=utf-8
這3個設定好了,基本就不會出問題了
總結:
是編碼的問題,資料庫,表和字段的編碼和jsp的編碼統一,就應該能解決了,比如都是utf-8
例如將所有的編碼都設定成utf8,jsp的contenttype="text/html;charset=utf-8"
修改資料庫預設編碼alter database `test` default character set utf8 collate utf8_bin
修改表的編碼:alter table `category` default character set utf8 collate utf8_bin
修改表字段的編碼alter table `test` change `dd` `dd` varchar注:
mysql更改資料庫表字段的編碼
alter table table_name
change colum_name colum_name varchar(50)
character set gbk collate gbk_chinese_ci
not null
以上語句可以將表中的某個欄位的編碼更改。
collate是乙個子句,可應用與資料庫定義或列定義以定義排序規則,
或應用於字串表示式以應用排序規則投影。
語法 collate < collation_name >
< collation_name > ::=
| 引數
collation_name
是應用於表示式、列定義或資料庫定義的排序規則的名稱。
collation_name 可以只是指定的 windows_collation_name 或 sql_collation_name。
windows_collation_name
是 windows 排序規則的排序規則名稱。請參見 windows 排序規則名稱。
sql_collation_name
是 sql 排序規則的排序規則名稱。請參見 sql 排序規則名稱。
collate 子句只能應用於 char、varchar、text、nchar、nvarchar 和 ntext 資料型別。
Mysql5 0中文亂碼問題解決方案
需注意以下三點 1 建立資料庫的時候 create database database character set utf8 collate utf8 general ci 2 建表的時候 create table database user id varchar 40 not null defau...
MySQL中文亂碼問題解決
mysql 4.1及以後的版本開始支援多語言,這個所謂的多語言,就是在輸入輸出時mysql會替你做編碼轉換。而這個轉換規則就是由客戶端編碼和伺服器端編碼來決定的。編碼轉換的規則就是 在輸入資料時將編碼由 客戶端編碼 轉換為 伺服器端編碼 輸出時將資料由 伺服器端編碼 轉換為 客戶端編碼 mysql ...
MySQL5 0亂碼解決辦法
1 設定phpmyadmin language chinese simplified zh utf 8 mysql 字符集 utf 8 unicode utf8 mysql 連線校對 gbk chinese ci 2.建立資料庫時,選譯詳細設定,然後就可以設定字符集gbk chinese ci 3 ...