日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

设置中文字符集

發布時間:2025/3/13 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设置中文字符集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CentOS7設置中文字符集

?

目錄

  • 一、字符編碼和字符集
    • 1、字符編碼(character encoding):
    • 2、字符集(Character set)
    • 3、國際編碼(Unicode)
  • 二、漢字的編碼
    • 1、漢字的編碼
    • 2、漢字的編碼選擇
    • 3、編碼的轉換
  • 三、設置Linux的字符集
    • 1、查看當前系統已安裝的字符集
    • 2、安裝中文字符集
    • 3、修改字符集配置文件
  • 四、LANG環境變量
  • 五、修改客戶端的字符集
  • 六、字符集轉換工具
  • 七、應用經驗
  • 八、版權聲明

?

一、字符編碼和字符集

1、字符編碼(character encoding):

字符編碼是一種法則,在數字與符號之間建立的對應關系。不同的國家有不同的語言,包含的文字、標點符號、圖形符號各有不同。例如在ASCII編碼中,用數字97表達字符'a'與字符集相對應,常見的字符編碼有ASCII,GBK,GB18030,Unicode等。

2、字符集(Character set)

字符集是字符的集合,字符是文字和符號的總稱,用ASCII編碼的字符集稱之為ASCII字符集,用GBK編碼的字符集稱之為GBK字符集。

3、國際編碼(Unicode)

為了解決傳統的字符編碼方案的局限,1994年發布了Unicode(國際編碼、統一碼、萬國碼、單一碼、通用碼),它是計算機科學領域里的一項業界標準,包括字符集、編碼方案等。Unicode 將全世界所有的字符統一化,統一編碼,再也不存在字符集不兼容和字符轉換的問題。

Unicode 有以下三種編碼方式:

1)UTF-8:兼容ASCII編碼;拉丁文、希臘文等使用兩個字節;包括漢字在內的其它常用字符使用三個字節;剩下的極少使用的字符使用四個字節。

2)UTF-16:對相對常用的60000余個字符使用兩個字節進行編碼,其余的使用4字節。

3)UTF-32:固定使用4個字節來表示一個字符,存在空間利用效率的問題。

二、漢字的編碼

1、漢字的編碼

支持漢字(簡體中文)的編碼有GB2312、GB13000、GBK、GB18030和Unicode(UTF-8、UTF-16、UTF-32)。

1)GB2312

僅包含大部分的常用簡體漢字,但已經不能適應現在的需要。

2)GB13000

由于GB2312的局限性,國家標準化委員會制定了GB13000編碼;但由于當時的硬件和軟件都已經支持了GB2312,而GB13000與GB2312完全不兼容,所以沒有能夠得到大范圍的推廣使用。

3)GBK

有了GB13000的教訓,中國國家標準化委員會制定了GBK標準,并兼容了GB2312標準,同時在GB2312標準的基礎上擴展了GB13000包含的字;由于該標準有微軟的支持,得到了廣泛的應用。

4)GB18030

GB18030編碼比GBK又新增了幾千個漢字,但由于碼位不足使用了2byte與4byte混合編碼方式,這給軟件開發增加了難度。

5)Unicode

包含全世界所有國家需要用到的字符,是國際編碼,通用性強。

2、漢字的編碼選擇

在操作系統和數據庫中,常用的漢字編碼有GBK、GB18030和Unicode,GBK和GB18030的優勢是占用空間小,Unicode的優勢是全球化的支持。

在應用開發中,如果不考慮全球化,最好的選擇是GBK和GB18030。

3、編碼的轉換

GBK和GB18030與Unicode編碼之間需要轉換,否則會出現漢字亂碼。

三、設置Linux的字符集

1、查看當前系統已安裝的字符集

1)locale命令用于查看當前系統全部的已安裝的字符集,Linux支持的符集約800種。

locale -a

2)查看已安裝的中文字符集(只查看中國大陸的,不包括香港和臺灣)

locale -a|grep zh_CN

上圖表示已經安裝了中文字符集。

2、安裝中文字符集

如果您的Linux系統沒有安裝中文字符集,可以用yum命令安裝。

我查了一些資料,安裝中文字符集軟件包的方法比較多,沒找到準確的說法,所以把多種方法都寫了進來,以下命令都可以執行,不會有副作用。

yum -y groupinstall chinese-support yum -y install chinese-support yum -y install kde-l10n-Chinese yum -y install ibus-table-chinese-1.4.6-3.el7.noarch

安裝后,執行locale -a|grep zh_CN,如果顯示的內容如下,表示安裝成功。

3、修改字符集配置文件

CentOS6.x 字符集配置文件在/etc/sysconfig/i18n文件中。

CentOS7.x 字符集配置文件在/etc/locale.conf文件中,內容如下:

執行以下命令或者重啟系統使修改生效。

CentOS6.x

source /etc/sysconfig/i18n

CentOS7.x:

source /etc/locale.conf

四、LANG環境變量

LANG環境變量存放的是Linux系統的語言、地區、字符集,它不需要系統管理員手工設置,/etc/profile會調用/etc/profile.d/lang.sh腳本完成對PATH的設置。

五、修改客戶端的字符集

客戶端的字符集必須與Linux服務端一致,否則會出現亂碼,以SecureCRT為例。修改會話的屬性,在Appearance界面中的Character
encoding下拉框中選擇。

六、字符集轉換工具

Linux提供了iconv命令把文件內容從一種編碼轉換成另一種編碼。

參數說明:

--list:列出iconv支持的編碼列表。

-f encoding:源文件內容的編碼。

-t encoding:目標文件內容的編碼。

-o file:指定輸出文件。

-c:忽略輸出的非法字符。

-l:列出已知的編碼字符集。

-s:禁止警告信息,但不是錯誤信息。

--verbose:顯示進度信息。

示例:

把當前目錄的book1.c由gbk轉換成utf-8,結果輸出到/tmp/book1_utf8.c中。

iconv -f gbk -t utf-8 book1.c -o /tmp/book1_utf8.c

七、應用經驗

1)Linux系統在業務化之前,就應該確定字符集,然后不再改變。系統在業務化后,修改字符集是一件很麻煩的事情,最好別惹這個麻煩。

2)如果項目沒有全球化的需求,Linux的字符集建議采用zh_CN.gbk。

3)雖然gb18030字符集比gbk更豐富,但是gb18030中有部分漢字是4字節,這一點讓程序員很郁悶,所以,程序員更傾向gbk字符集。

4)設置Linux的字符集時,還要考慮WEB系統和數據庫系統采用的字符集,最好是大家都保持一致。

八、版權聲明

C語言技術網原創文章,轉載請說明文章的來源、作者和原文的鏈接。
來源:C語言技術網(www.freecplus.net)
作者:碼農有道

如果文章有錯別字,或者內容有錯誤,或其他的建議和意見,請您留言指正,非常感謝!!!

分類:?LInux教程

標簽:?C++,?C,?Linux,?Mysql,?Oracle,?數據庫

總結

以上是生活随笔為你收集整理的设置中文字符集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。