i).在 Vim 中可以直接查看文件編碼(shift + :)輸入set fileencoding 即可顯示文件編碼格式。
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的太平網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
如果你只是想查看其它編碼格式的文件或者想解決用 Vim 查看文件亂碼的問題,那么你可以在 ~/.vimrc 文件中添加以下內(nèi)容: set
encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 這樣, 就可以讓 vim 自動(dòng)識(shí)別文件編碼
(可以自動(dòng)識(shí)別 UTF-8或者 GBK 編碼的文件) ,其實(shí)就是依照 fileencodings
提供的編碼列表嘗試,如果沒有找到合適的編碼,就用 latin-1(ASCII)編碼打開。
ii). enca (需要安裝)查看文件編碼:$enca filename filename: Universal
transformation format 8 bits; UTF-8 CRLF line terminators 需要說明一點(diǎn)的是,enca
對(duì)某些 GBK 編碼的文件識(shí)別的不是很好,識(shí)別時(shí)會(huì)出現(xiàn): Unrecognized encoding
iii)還有一種很簡(jiǎn)單的方式,file 文件名 可以查看非elf文件的編碼格式
1、# echo ?$LANG2、# env |grep LANG3、# ?locale以上三個(gè)操作,均可查到當(dāng)前系統(tǒng)所使用的字符集,請(qǐng)看看《linux就該這么學(xué)》,linux命令學(xué)習(xí)方法。
Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運(yùn)行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。
Linux操作系統(tǒng)誕生于1991 年10 月5 日(這是第一次正式向外公布時(shí)間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內(nèi)核。Linux可安裝在各種計(jì)算機(jī)硬件設(shè)備中,比如手機(jī)、平板電腦、路由器、視頻游戲控制臺(tái)、臺(tái)式計(jì)算機(jī)、大型機(jī)和超級(jí)計(jì)算機(jī)。
嚴(yán)格來講,Linux這個(gè)詞本身只表示Linux內(nèi)核,但實(shí)際上人們已經(jīng)習(xí)慣了用Linux來形容整個(gè)基于Linux內(nèi)核,并且使用GNU?工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。
可直接進(jìn)入 mysql 進(jìn)行更改,具體如下:
1.查找/etc目錄下是否有my.cnf文件;
#ls -l | grep my.cnf (在/etc下查找是否有my.cnf文件存在)
2.如果沒有就要從/usr/share/mysql,拷貝一個(gè)到/etc 下,在/usr/share/mysql目錄下有五個(gè)后綴為.cnf的文件,分別是 my-huge.cnf my-innodb-heavy-4G.cnf my-large.cnf my-medium.cnf my-small.cnf ;從中隨便拷貝一個(gè)到/etc目錄下并將其改為my.cnf文件,我選擇的是my-medium.cnf :
#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
3.修改my.cnf文件,在該文件中的三個(gè)地方加上 default-character-set=utf8([client] [mysqld] [mysql])
#vi /etc/my.cnf
修改如下:(紅色為添加部分)
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
default-character-set=utf8
init_connect='SET NAMES utf8' //此行可不加
[mysql]
no-auto-rehash
default-character-set=utf8
保存退出;
4.重起MySQL服務(wù)器,使其設(shè)置的內(nèi)容生效
#/etc/init.d/mysql restart
5. 重新登入mysql;
# mysql -u root - p
#(輸入密碼)
mysql show variables like 'character_set%' ;
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |(都生成了utf8,成功了 哈哈哈)
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql啟動(dòng)和停止 操作 :
可以通過 #/etc/init.d/mysql [start | stop | restart](實(shí)現(xiàn)啟動(dòng),停止,重啟)
也可以通過 #service mysql [start | stop | restart](實(shí)現(xiàn)啟動(dòng),停止,重啟)
*********************************
另外:如果在修改字符集前,嘗試在數(shù)據(jù)庫中插入中文,那么當(dāng)修改了字符集后,在你所插入中文的數(shù)據(jù)庫中(在別的數(shù)據(jù)庫中可能沒問題),
通過show variables like 'character_set%'查詢的結(jié)果可如下:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
中文設(shè)置:export LANG=zh_CN.GB2312
英文設(shè)置:export LANG=zh_CN.UTF-8
一·查看字符集
字符集在系統(tǒng)中體現(xiàn)形式是一個(gè)環(huán)境變量,以CentOS6.5為例,其查看當(dāng)前終端使用字符集的方式可以有以下幾種方式:
1、[root@david ~]# echo $LANG
zh_CN.GB18030
2、[root@david ~]# env |grep LANG
LANG=zh_CN.GB18030
LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
3、[root@david ~]# export |grep LANG
declare -x LANG="zh_CN.GB18030"
declare -x LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
4、[root@david ~]# locale
LANG=zh_CN.GB18030
LC_CTYPE="zh_CN.GB18030"
LC_NUMERIC="zh_CN.GB18030"
LC_TIME="zh_CN.GB18030"
LC_COLLATE="zh_CN.GB18030"
LC_MONETARY="zh_CN.GB18030"
LC_MESSAGES="zh_CN.GB18030"
LC_PAPER="zh_CN.GB18030"
LC_NAME="zh_CN.GB18030"
LC_ADDRESS="zh_CN.GB18030"
LC_TELEPHONE="zh_CN.GB18030"
LC_MEASUREMENT="zh_CN.GB18030"
LC_IDENTIFICATION="zh_CN.GB18030"
LC_ALL=
上面均說明LC_CTYPE(字符辨識(shí)編碼)表示這個(gè)系統(tǒng)的系統(tǒng)現(xiàn)在使用的字符集是zh_CN.GB18030,LC_NUMERIC(數(shù)字系統(tǒng)的顯示訊息)等其它與語言相關(guān)的變量。通常如果其它的語言變量都未設(shè)定,僅設(shè)定LANG這個(gè)變量就可以缺省代替所有其它變量了。