Linux下perldoc亂碼延伸至LANG,LC_ALL,locale探討
在Linux下用perldoc命令檢視的時候出現亂碼
# perldoc Test::Builder
如果出現這種問題,還會出現在其他的Linux命令,如man,info
而我的Linux作業系統是英文的,設定的locale: LANG= en_US.UTF-8
出現這種情況,應該是編碼格式的問題,可以再profile檔案中設定:
$ vi .bash_profile
alias man='LANG=C
man'
C代表英文環境
ASCII 編碼格式
Locale:
Locale是根據計算機使用者所使用的語言,所在國家或者地區,以及當地的文化傳統所定義的一個軟體執行時的語言環境。
這個使用者環境可以按照所涉及到的文化傳統的各個方面分成幾個大類,通常包括使用者所使用的語言符號及其分類(LC_CTYPE),數字 (LC_NUMERIC),比較和排序習慣(LC_COLLATE),時間顯示格式(LC_TIME),貨幣單位(LC_MONETARY),資訊主要是 提示資訊,錯誤資訊, 狀態資訊, 標題, 標籤, 按鈕和選單等(LC_MESSAGES),姓名書寫方式(LC_NAME),地址書寫方式 (LC_ADDRESS),電話號碼書寫方式 (LC_TELEPHONE),度量衡表達方式(LC_MEASUREMENT),預設紙張尺寸大小 (LC_PAPER)和locale對自身包含資訊的概述(LC_IDENTIFICATION)。
character set
字符集(character
set)就是字元,尤其是非英語字元在系統內的編碼方式,也就是通常所說的內碼,所有的字符集都放在 /usr/share/i18n/charmaps,所有的字符集也都是用Unicode編號索引的。
Locale 是軟體在執行時的語言環境, 它包括語言(Language), 地域 (Territory) 和字符集(Codeset)。一個locale的書寫格式為: 語言[_地域[.字符集]]. 所以說呢,locale總是和一定的字符集相聯絡的。
例如
zh_CN.GB2312是指:
語言為中文,身處中華人民共和國,使用國標2312字符集來表達字元。 zh_CN.GB2312=中文_中華人民共和國+國標2312字符集。
設定locale就是設定12大類的locale分類屬性,即12個LC_*。除了這12個變數可以設定以外,為了簡便起見,還有兩個變數:LC_ALL和LANG。它們之間有一個優先順序的關係:LC_ALL > LC_* >LANG。可以這麼說,LC_ALL是最上級設定或者強制設定,而LANG是預設設定值。
另外LANG和LANGUAGE有什麼區別呢?
LANG - Specifies the default locale for all unset
locale variables
LANGUAGE - Most programs use this for the language
of its interface
LANGUAGE是設定應用程式的介面語言。而LANG是優先順序很低的一個變數,它指定所有與locale有關的變數的預設值
Reference:
http://hi.baidu.com/edeed/blog/item/2e99a14440bd8884b2b7dcb1.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12472709/viewspace-1036189/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LANG,LC_ALL,locale詳解(轉)
- locale的設定及其LANG、LC_ALL、LANGUAGE環境變數的區別(轉帖)變數
- 【轉帖】locale的設定及其LANG、LC_ALL、LANGUAGE環境變數的區別變數
- LANG,LC_ALL,local詳解
- Centos: 解決系統編碼 locale 的 LC_CTYPE / LC_ALL 問題CentOS
- JdonFramework程式碼探討Framework
- linux下sqlplus 亂碼LinuxSQL
- Linux locale issueLinux
- LANG、LC_ALL、LANGUAGE等語言環境變數區別變數
- BeeHive 1.6.0 原始碼閱讀探討Hive原始碼
- linux 下刪除亂碼檔案Linux
- Promise探討Promise
- LINUX LILO若干問題探討 (轉)Linux
- Java原始碼分析:深入探討Iterator模式Java原始碼模式
- 深入探討下SSR與CSR有啥不同
- 深入探討 UndefinedUndefined
- IsPostBack深入探討
- Linux作業系統下媒體播放器的初步探討(轉)Linux作業系統播放器
- 探討一下 Windows 下 PHP 環境最優解WindowsPHP
- Redhat Linux bind round-robin配置的探討RedhatLinux
- 微服務下認證授權框架的探討微服務框架
- px em rem 探討REM
- with as探討時小插曲
- Oracle Stream 深入探討Oracle
- Open Session In View 探討SessionView
- Linux挖礦木馬的技術演進探討Linux
- Linux下刪除亂碼或特殊字元檔案Linux字元
- Linux下解決matplotlib中文亂碼的方法Linux
- Linux掛載windows下的cdrom亂碼處理LinuxWindows
- 用程式碼探討KVC/KVO的實現原理
- 用程式碼探討 KVC/KVO 的實現原理
- 乾貨| 關於程式碼對齊的探討
- Windows下Eclipse工程移到Linux下亂碼問題解決WindowsEclipseLinux
- linux下字元介面下會出現亂碼解決方法Linux字元
- Windows7設定NLS_LANG解決SQL*Plus亂碼WindowsSQL
- linux終端亂碼Linux
- 深入探討單例模式單例模式
- cassandra查詢效率探討