mysql 字符集 utf8 for solaris 10

spectre2發表於2011-05-16

最近給開發人員配mysql,發現字元編碼不對,應該改為utf8,google了很多案例,改來改去就是不成功,最後逐條檢查my.cnf配置檔案,註釋一條啟動一次,發現問題,最終解決。

1、首先中止MySQL服務(bin/mysqladmin -u root shutdown -p)
2、在/etc/下找到my.cnf,如果沒有就把MySQL的安裝目錄下的support-files目錄下的my-large.cnf複製到/etc/下並改名為my.cnf即可
3、開啟my.cnf以後,修改以下,儲存並關閉

         找到客戶端配置[client] 在下面新增
        default-character-set=utf8                   --預設字符集為utf8
        在找到[mysqld] 新增
        character_set_server = utf8                --預設字符集為utf8    注:網上有教程在這裡也加default-character-set=utf8,我測試,就是這一條導致最後失敗
        init_connect='SET NAMES utf8' (設定連線mysql資料庫時使用utf8編碼,以讓mysql資料庫為utf8執行)

注意,my.cnf的許可權是644,負責啟動mysql時會警告,另my.cnf的屬主和屬組都是mysql,這點也讓我吃了大虧!

4、啟動MySQL服務(bin/mysqld_safe &),重新檢視編碼顯示

show variables like 'character%';   
SHOW VARIABLES LIKE 'collation_%';   

 

還有一種臨時修改字符集的方法:

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 ;
SET collation_connection = utf8_general_ci  ;
SET collation_database = utf8_general_ci  ;
SET collation_server = utf8_general_ci  ;

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14184018/viewspace-695478/,如需轉載,請註明出處,否則將追究法律責任。

相關文章