日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
CentOS7.5修改字符集

亂碼產生的原因:

計算機中儲存的信息都是用二進制數(shù)表示的;而我們在屏幕上看到的英文、漢字等字符是二進制數(shù)轉換之后的結果。通俗的說,按照何種規(guī)則將字符存儲在計算機中,如'a'用什么表示,稱為"編碼";反之,將存儲在計算機中的二進制數(shù)解析顯示出來,稱為"解碼",如同密碼學中的加密和解密。在解碼過程中,如果使用了錯誤的解碼規(guī)則,則導致'a'解析成'b'或者亂碼。

創(chuàng)新互聯(lián)公司是專業(yè)的固原網站建設公司,固原接單;提供成都網站設計、網站制作,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行固原網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!

字符集(Charset):是一個系統(tǒng)支持的所有抽象字符的集合。字符是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數(shù)字等。

字符編碼(Character Encoding):是一套法則,使用該法則能夠對自然語言的字符的一個集合(如字母表或音節(jié)表),與其他東西的一個集合(如號碼或電脈沖)進行配對。即在符號集合與數(shù)字系統(tǒng)之間建立對應關系,它是信息處理的一項基本技術。通常人們用符號集合(一般情況下就是文字)來表達信息。而以計算機為基礎的信息處理系統(tǒng)則是利用元件(硬件)不同狀態(tài)的組合來存儲和處理信息的。元件不同狀態(tài)的組合能代表數(shù)字系統(tǒng)的數(shù)字,因此字符編碼就是將符號轉換為計算機可以接受的數(shù)字系統(tǒng)的數(shù),稱為數(shù)字代碼。

UTF-8:

  • UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼(定長碼),也是一種前綴碼。它可以用來表示Unicode標準中的任何字符,且其編碼中的第一個字節(jié)仍與ASCII兼容,這使得原來處理ASCII字符的軟件無須或只須做少部份修改,即可繼續(xù)使用。因此,它逐漸成為電子郵件、網頁及其他存儲或傳送文字的應用中,優(yōu)先采用的編碼。互聯(lián)網工程工作小組(IETF)要求所有互聯(lián)網協(xié)議都必須支持UTF-8編碼。

    UTF-8使用一至四個字節(jié)為每個字符編碼:

  1. 128個US-ASCII字符只需一個字節(jié)編碼(Unicode范圍由U+0000至U+007F)。
  2. 帶有附加符號的拉丁文、希臘文、西里爾字母、亞美尼亞語、希伯來文、阿拉伯文、敘利亞文及它拿字母則需要二個字節(jié)編碼(Unicode范圍由U+0080至U+07FF)。
  3. 其他基本多文種平面(BMP)中的字符(這包含了大部分常用字)使用三個字節(jié)編碼。
  4. 其他極少使用的Unicode輔助平面的字符使用四字節(jié)編碼。

    在處理經常會用到的ASCII字符方面非常有效。在處理擴展的拉丁字符集方面也不比UTF-16差。對于中文字符來說,比UTF-32要好。同時,(在這一條上你得相信我,因為我不打算給你展示它的數(shù)學原理。)由位操作的天性使然,使用UTF-8不再存在字節(jié)順序的問題了。一份以utf-8編碼的文檔在不同的計算機之間是一樣的比特流。

    總體來說,在Unicode字符串中不可能由碼點數(shù)量決定顯示它所需要的長度,或者顯示字符串之后在文本緩沖區(qū)中光標應該放置的位置;組合字符、變寬字體、不可打印字符和從右至左的文字都是其歸因。所以盡管在UTF-8字符串中字符數(shù)量與碼點數(shù)量的關系比UTF-32更為復雜,在實際中很少會遇到有不同的情形。

    優(yōu)點

  • UTF-8是ASCII的一個超集。因為一個純ASCII字符串也是一個合法的UTF-8字符串,所以現(xiàn)存的ASCII文本不需要轉換。為傳統(tǒng)的擴展ASCII字符集設計的軟件通??梢圆唤浶薷幕蚝苌傩薷木湍芘cUTF-8一起使用。
  • 使用標準的面向字節(jié)的排序例程對UTF-8排序將產生與基于Unicode代碼點排序相同的結果。(盡管這只有有限的有用性,因為在任何特定語言或文化下都不太可能有仍可接受的文字排列順序。)
  • UTF-8和UTF-16都是可擴展標記語言文檔的標準編碼。所有其它編碼都必須通過顯式或文本聲明來指定。
  • 任何面向字節(jié)的字符串搜索算法都可以用于UTF-8的數(shù)據(jù)(只要輸入僅由完整的UTF-8字符組成)。但是,對于包含字符記數(shù)的正則表達式或其它結構必須小心。
  • UTF-8字符串可以由一個簡單的算法可靠地識別出來。就是,一個字符串在任何其它編碼中表現(xiàn)為合法的UTF-8的可能性很低,并隨字符串長度增長而減小。舉例說,字符值C0,C1,F5至FF從來沒有出現(xiàn)。為了更好的可靠性,可以使用正則表達式來統(tǒng)計非法過長和替代值(可以查看W3 FAQ: Multilingual Forms上的驗證UTF-8字符串的正則表達式)。

    缺點

    因為每個字符使用不同數(shù)量的字節(jié)編碼,所以尋找串中第N個字符是一個O(N)復雜度的操作 — 即,串越長,則需要更多的時間來定位特定的字符。同時,還需要位變換來把字符編碼成字節(jié),把字節(jié)解碼成字符。

配置字符集:

CentOS6.x 字符集配置文件在/etc/syscconfig/i18n;

CentOS7.x 字符集配置文件在/etc/locale.conf;

查看已經安裝的語言包:

# locale -a

aa_DJ
aa_DJ.iso88591
aa_DJ.utf8
aa_ER

...

...

安裝中文字符集:

CentOS6.x:

#yum groupinstall chinese-support

注意CentO S7與6不一樣;

#yum install kde-l10n-Chinese

#yum reinstall glibc-common

查看當前的字符集:

方法一:

# echo $LANG
zh_CN.UTF-8

方法二:

# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"ENTIFICATION="zh_CN.UTF-8"
LC_A

安裝完成之后通過vi命令修改配置文件:

這個是由中文字符集改為英文字符集,沒辦法中文字符集還是存在亂碼問題;

#vi /etc/locale.conf
# LANG="zh_CN.UTF-8"
LANG="en_US.UTF-8"

改完后需要使用source命令是配置文件生效:

#source /etc/locale.conf

檢查:

# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

臨時改變字符集命令:

#LANG="想要使用的字符集"

#LANG="LANG=en_US.UTF-8" 

也可以把字符集的環(huán)境變量寫到profile

# vim /etc/profile

注意這個需要利用#source /etc/profile使文件生效。

根據(jù)用戶設置字符集,需要更改用戶家目錄下的 .bash_profile ,在最后一行添加字符集就可以了

# vim .bash_profile 

LANG="LANG=en_US.UTF-8"

使用遠程連接工具時注意把字符集調試成與系統(tǒng)字符集一致。


本文名稱:CentOS7.5修改字符集
網頁URL:http://www.5511xx.com/article/dhhohge.html