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

MySql修改數據庫編碼為UTF8

編輯:MySQL綜合教程

MySql修改數據庫編碼為UTF8   mysql 創建 數據庫時指定編碼很重要,很多開發者都使用了默認編碼,亂碼問題可是防不勝防。制定數據庫的編碼可以很大程度上避免倒入導出帶來的亂碼問題。    網頁數據一般采用UTF8編碼,而數據庫默認為latin 。我們可以通過修改數據庫默認編碼方式為UTF8來減少數據庫創建時的設置,也能最大限度的避免因粗心造成的亂碼問題。       我們遵循的標准是,數據庫,表,字段和頁面或文本的編碼要統一起來 我們可以通過命令查看數據庫當前編碼:         mysql> SHOW VARIABLES LIKE 'character%';  發現很多對應的都是 latin1,我們的目標就是在下次使用此命令時latin1能被UTF8取代。  第一階段:     mysql設置編碼命令 [sql]  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了。 [sql]  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