日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
CentOS7.5修改字符集

亂碼產(chǎn)生的原因:

計(jì)算機(jī)中儲(chǔ)存的信息都是用二進(jìn)制數(shù)表示的;而我們?cè)谄聊簧峡吹降挠⑽摹h字等字符是二進(jìn)制數(shù)轉(zhuǎn)換之后的結(jié)果。通俗的說(shuō),按照何種規(guī)則將字符存儲(chǔ)在計(jì)算機(jī)中,如'a'用什么表示,稱為"編碼";反之,將存儲(chǔ)在計(jì)算機(jī)中的二進(jìn)制數(shù)解析顯示出來(lái),稱為"解碼",如同密碼學(xué)中的加密和解密。在解碼過(guò)程中,如果使用了錯(cuò)誤的解碼規(guī)則,則導(dǎo)致'a'解析成'b'或者亂碼。

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

字符集(Charset):是一個(gè)系統(tǒng)支持的所有抽象字符的集合。字符是各種文字和符號(hào)的總稱,包括各國(guó)家文字、標(biāo)點(diǎn)符號(hào)、圖形符號(hào)、數(shù)字等。

字符編碼(Character Encoding):是一套法則,使用該法則能夠?qū)ψ匀徽Z(yǔ)言的字符的一個(gè)集合(如字母表或音節(jié)表),與其他東西的一個(gè)集合(如號(hào)碼或電脈沖)進(jìn)行配對(duì)。即在符號(hào)集合與數(shù)字系統(tǒng)之間建立對(duì)應(yīng)關(guān)系,它是信息處理的一項(xiàng)基本技術(shù)。通常人們用符號(hào)集合(一般情況下就是文字)來(lái)表達(dá)信息。而以計(jì)算機(jī)為基礎(chǔ)的信息處理系統(tǒng)則是利用元件(硬件)不同狀態(tài)的組合來(lái)存儲(chǔ)和處理信息的。元件不同狀態(tài)的組合能代表數(shù)字系統(tǒng)的數(shù)字,因此字符編碼就是將符號(hào)轉(zhuǎn)換為計(jì)算機(jī)可以接受的數(shù)字系統(tǒng)的數(shù),稱為數(shù)字代碼。

UTF-8:

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

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

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

    在處理經(jīng)常會(huì)用到的ASCII字符方面非常有效。在處理擴(kuò)展的拉丁字符集方面也不比UTF-16差。對(duì)于中文字符來(lái)說(shuō),比UTF-32要好。同時(shí),(在這一條上你得相信我,因?yàn)槲也淮蛩憬o你展示它的數(shù)學(xué)原理。)由位操作的天性使然,使用UTF-8不再存在字節(jié)順序的問(wèn)題了。一份以u(píng)tf-8編碼的文檔在不同的計(jì)算機(jī)之間是一樣的比特流。

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

    優(yōu)點(diǎn)

  • UTF-8是ASCII的一個(gè)超集。因?yàn)橐粋€(gè)純ASCII字符串也是一個(gè)合法的UTF-8字符串,所以現(xiàn)存的ASCII文本不需要轉(zhuǎn)換。為傳統(tǒng)的擴(kuò)展ASCII字符集設(shè)計(jì)的軟件通??梢圆唤?jīng)修改或很少修改就能與UTF-8一起使用。
  • 使用標(biāo)準(zhǔn)的面向字節(jié)的排序例程對(duì)UTF-8排序?qū)a(chǎn)生與基于Unicode代碼點(diǎn)排序相同的結(jié)果。(盡管這只有有限的有用性,因?yàn)樵谌魏翁囟ㄕZ(yǔ)言或文化下都不太可能有仍可接受的文字排列順序。)
  • UTF-8和UTF-16都是可擴(kuò)展標(biāo)記語(yǔ)言文檔的標(biāo)準(zhǔn)編碼。所有其它編碼都必須通過(guò)顯式或文本聲明來(lái)指定。
  • 任何面向字節(jié)的字符串搜索算法都可以用于UTF-8的數(shù)據(jù)(只要輸入僅由完整的UTF-8字符組成)。但是,對(duì)于包含字符記數(shù)的正則表達(dá)式或其它結(jié)構(gòu)必須小心。
  • UTF-8字符串可以由一個(gè)簡(jiǎn)單的算法可靠地識(shí)別出來(lái)。就是,一個(gè)字符串在任何其它編碼中表現(xiàn)為合法的UTF-8的可能性很低,并隨字符串長(zhǎng)度增長(zhǎng)而減小。舉例說(shuō),字符值C0,C1,F5至FF從來(lái)沒(méi)有出現(xiàn)。為了更好的可靠性,可以使用正則表達(dá)式來(lái)統(tǒng)計(jì)非法過(guò)長(zhǎng)和替代值(可以查看W3 FAQ: Multilingual Forms上的驗(yàn)證UTF-8字符串的正則表達(dá)式)。

    缺點(diǎn)

    因?yàn)槊總€(gè)字符使用不同數(shù)量的字節(jié)編碼,所以尋找串中第N個(gè)字符是一個(gè)O(N)復(fù)雜度的操作 — 即,串越長(zhǎng),則需要更多的時(shí)間來(lái)定位特定的字符。同時(shí),還需要位變換來(lái)把字符編碼成字節(jié),把字節(jié)解碼成字符。

配置字符集:

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

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

查看已經(jīng)安裝的語(yǔ)言包:

# 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

查看當(dāng)前的字符集:

方法一:

# 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

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

這個(gè)是由中文字符集改為英文字符集,沒(méi)辦法中文字符集還是存在亂碼問(wèn)題;

#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=

臨時(shí)改變字符集命令:

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

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

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

# vim /etc/profile

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

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

# vim .bash_profile 

LANG="LANG=en_US.UTF-8"

使用遠(yuǎn)程連接工具時(shí)注意把字符集調(diào)試成與系統(tǒng)字符集一致。


當(dāng)前題目:CentOS7.5修改字符集
URL標(biāo)題:http://www.dlmjj.cn/article/dhhohge.html