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 解壓器也完美解決了 !