程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql修正數據庫編碼為UTF8防止形成亂碼成績

MySql修正數據庫編碼為UTF8防止形成亂碼成績

編輯:MySQL綜合教程

MySql修正數據庫編碼為UTF8防止形成亂碼成績。本站提示廣大學習愛好者:(MySql修正數據庫編碼為UTF8防止形成亂碼成績)文章只能為提供參考,不一定能成為您想要的結果。以下是MySql修正數據庫編碼為UTF8防止形成亂碼成績正文


mysql 創立數據庫時指定編碼很主要,許多開辟者都應用了默許編碼,亂碼成績可是防不堪防。制訂數據庫的編碼可以很年夜水平上防止倒入導出帶來的亂碼成績。

網頁數據普通采取UTF8編碼,而數據庫默許為latin 。我們可以經由過程修正數據庫默許編碼方法為UTF8來削減數據庫創立時的設置,也能最年夜限制的防止因大意形成的亂碼成績。

我們遵守的尺度是,數據庫,表,字段和頁面或文本的編碼要同一起來
我們可以經由過程敕令檢查數據庫以後編碼: mysql> SHOW VARIABLES LIKE 'character%';
發明許多對應的都是 latin1,我們的目的就是鄙人次應用此敕令時latin1能被UTF8代替。

第一階段:
mysql設置編碼敕令

SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;

然後 mysql> SHOW VARIABLES LIKE 'character%'; 你可以看到全變成 utf8 。
然則,這只是一種假象

此種方法只在以後狀況下有用,當重啟數據庫辦事後掉效。
所以假如想要不湧現亂碼只要修正my.ini文件,
從my.ini下手(標簽下沒有的添加,有的修正)
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
以上3個section都要加default-character-set=utf8,日常平凡我們能夠只加了mysqld一項。
然後重啟mysql,履行
mysql> SHOW VARIABLES LIKE 'character%';
確保一切的Value項都是utf8便可。
然則可愛的工作又來了,
|character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 留意 該設置裝備擺設| character_set_server | latin1 沒法設置成UTF8 交互時刻依然會湧現亂碼。

第二階段:找到上面這東東
X:\%path%\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe
從新啟動設置,將默許編碼設置為utf8.如許就可以到達我們所要的後果了。
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set
別的留意事項:

1、建表時加utf8,表字段的Collation可加可不加,不加時默許是utf8_general_ci了。

CREATE TABLE `tablename4` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`varchar1` varchar(255) DEFAULT NULL,
`varbinary1` varbinary(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

2、網頁xxx.php/jsp保留時選擇utf8編碼,頁頭最好加上
header('conten-type:text/html;charset=utf-8');
在履行CRUD操作前先履行一下
mysql_query("set names utf8");

-------------------------
銜接數據庫設置編碼
jdbc:mysql://地址:3306/數據庫名?characterEncoding=utf8
-------------------------
java中的經常使用編碼UTF-8;GBK;GB2312;ISO-8859-1;
對應mysql數據庫中的編碼utf8;gbk;gb2312;latin1
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved