1. 程式人生 > >mac編碼檢視及修改

mac編碼檢視及修改

這裡主要說三個方面:

一、mac的系統編碼;

二、mysql字元編碼(解決中文亂碼和中文變 ?號);

三、編碼引起的檔案亂碼問題。


第一個容易:

1,終端輸入:locale,全是 zh_CN.UTF-8 屬於正常,就別改了!

2,不是的話就會各種亂碼,接著往下走:vim ~/.bash_profile 或者是 touch .bash_profile

    寫入 LC_ALL="zh_CN.UTF-8" 儲存退出。

3,過五分鐘再 locale 一下,就能改好。(當時我退出來檢視還沒改過來,五分鐘後它自動改過來了,至少確認了第二部操作確實有效)

    

第二個mysql的預設字符集:

1,先說終極方法,可以實現一勞永逸:

linux,mac環境,修改mysql配置檔案/etc/my.cnf:

[mysqld]
character_set_server=utf8 
[client]
default_character_set=utf8 
[mysql]
default_character_set=utf8

win環境,修改mysql配置檔案/etc/my.ini,檔案不存在,則將my-default.ini 複製一下並改名為my.ini:(同上修改)

2,mamp for mac 這個整合有些坑爹,配置檔案找不到,/etc 下新建也沒用,那麼就用別的方法:

mysql> SHOW VARIABLES LIKE '%char%';        #檢視資料庫編碼

預設就是瑞典latin1

以下是換成我們自己的編碼

進入某個庫,執行 SET NAMES 'utf8' ,再次檢視就會發現改好了:

這個方法會在重啟資料庫時被覆蓋,需要每次開啟資料庫時執行一次!奮鬥

下面普及一下有關mysql編碼的知識,收集來的知識整理一下而已,各位請繞道吐舌頭

     SETNAMES 'utf8';

    它相當於下面的三句指令:

     SETcharacter_set_client = utf8;

     SETcharacter_set_results = utf8;

     SETcharacter_set_connection = utf8;

 

    建立資料庫時編碼設定

    mysql> create database namecharacter set utf8;

 

    建立表時編碼設定

    CREATE TABLE `tablename` (`id`int(10) unsigned NOT NULL auto_increment,PRIMARY KEY (`id`)) DEFAULTCHARSET=utf8;

 

    修改資料庫成utf8.

    mysql> alter database dbname set utf8;

 

    修改表預設用utf8.

    mysql> alter table tablename set utf8;

 

    修改欄位用utf8

    mysql> alter table tablename field_name varchar(50) CHARACTER SET utf8;


    Windows可在服務管理器中操作,也可使用命令列:

    net stop mysql 回車

    net start mysql 回車

    Linux下面可是用 service mysql restart

第三個檔案解壓亂碼:(這是我以前的問題,最近暫時用不到,就先放著不寫了吐舌頭

網上推薦使用 The Unarchiver 解壓就能解決,我係統還是10.10,安不了,我用 RAR extractor lite 解壓器也完美解決了 !