Mysql5.0中文亂碼問題解決方案

來源:互聯網
上載者:User

需注意以下三點:

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 > ::=
{ Windows_collation_name } | {
SQL_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
資料類型。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.