1. 程式人生 > >ASP.net連線mysql資料庫中文亂碼問題的解決方法

ASP.net連線mysql資料庫中文亂碼問題的解決方法


1. 修改mysql的配置。

到mysql server的安裝目錄下找到my.ini,修改[mysql]小節中的default-character-set為utf8

[mysql]
default-character-set=utf8 

2. 修改mysql server的字符集

如果有mysql客戶端查詢工具,可以直接連線。否則通過命令列進入mysql安裝目錄的bin目錄下並依次分別輸入以下各行內容並分別回車。

第一個是用來登陸mysql,此處使用者名稱為root,第二行是密碼123,後邊六行用來修改mysql的字符集。後邊六行可以一次性複製到 mysql> 之後然後回車。

mysql -u root -p 
123
SET character_set_client = utf8;
SET character_set_server = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
SET collation_server = utf8_general_ci ;
SET collation_database = utf8_general_ci ;

3. 修改ASP.net工程中的web.xml中資料庫連線字串:

connectionString="server=127.0.0.1;User Id=root;password=123;Persist Security Info=True;database=myDBName;charset=utf8"

即:後邊的charset為utf8。

4. 只有新建的資料庫和表才能支援中文。完成以上操作後,建立table時,最後要加上CHARSET=utf8。如下所示:

CREATE TABLE  `test`.`user` (
  `name` varchar(45) NOT NULL DEFAULT '',
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;