Ubuntu Locale配置問題根源解決之道

2021-06-02 05:48:55 字數 2219 閱讀 8832

常見錯誤

1. no such file 用locale命令的時候就會出現

locale: cannot set lc_ctype to default locale: no such file or directory

locale: cannot set lc_messages to default locale: no such file or directory

locale: cannot set lc_all to default locale: no such file or directory

2. perl warning, please check if supported 在apt-get install/remove的時候出現

perl: warning: please check that your locale settings: lc_all = (unset), lc__fastmsg = "true", lc_messages = "", lang = "zh_cn" are supported and installed

相關命令

locale   檢視現在的locale配置環境

localepurge 配置需要的locale(如果沒有這個命令,用apt-get install localepurge安裝)

locale-gen 生成需要的locale檔案,

引數 --purge用來刪除所有舊的配置,在出現問題時很有用

相關的檔案

其實在man locale-gen和man locale裡面都講到了,我還在網上查資料,浪費時間,悔之晚矣……

/usr/share/i18n/supported

list of supported values (and their associated encoding) for the

locale  name.    this   representation   is   recommended   over

--all-locales one, due being the system wide supported values.

/var/lib/locales/supported.d/*

list all locales to generate.  file format is similar to /usr/share/i18n/supported.

/usr/lib/locale//lc_*

compiled locale data.這些就是用locale-gen編譯出的locale檔案了

/etc/environment 編輯這個檔案可以手動配置locale環境變數,lc_ctype之類的,具體有哪些可配置的變數,都是什麼含義,用man locale就能看到了

解決問題

很簡單,重新生成所有的locale配置,其實網上的資料只是漏掉了--purge引數而已

cp /usr/share/i18n/supported /var/lib/locales/supported.d/local

vi /var/lib/locales/supported.d/local,用dd命令刪啊刪,只留下en_系列和zh_系列, 或者其他你要的locale

rm /var/lib/locales/supported.d/en

rm /var/lib/locales/supported.d/zh 這兩個檔案跟local一樣功能,也可以把en系列寫在en檔案裡,zh系列寫在zh檔案裡,分類方便而已。我既然都寫在local裡,這兩個就用不著了。

第二步:重新生成locale支援檔案

locale-gen --purge

這一步會將/usr/lib/locale/裡面的locale支援檔案刪掉,重新生成。如果設定的locale沒有生成過,或者設定的時候拼寫錯誤,在這個目錄找不到同名的支援檔案就會提示no such file了。

第三步:配置locale環境。

敲locale把輸出的那些環境變數拷貝到/etc/environment裡面,自己手工修改。可以設的值就是/var/lib/locales/supported.d/local裡面包括的值,或者生成在/usr/lib/locale/裡面的資料夾名稱。

第四步:退出重新登入,再敲locale看看,沒錯誤了。

//附註:

發現原來/etc/environment裡面是:

export lc_ctype=zh_cn

修改為export lc_ctype=zh_cn.utf-8

正常

mac配置apache php mysql問題記錄

目標 安裝mysql後想通過phpmyadmin來對mysql進行管理。因phpmyadmin需要web伺服器和php支援,所以再使用前必須先配置web server和php。apache配置遇到的問題 web server選擇apache http。通過修改 etc apache2 httpd.c...

ASIHTTPRequest配置及常見問題

第一步,新增asihttprequest相關檔案到xcode專案中,所需檔案列表如下 reachability.h 在原始碼的 external reachability 目錄下 reachability.m 在原始碼的 external reachability 目錄下 第二步,鏈結相關類庫,所需...

spring與springMVC的配置問題

弄了這麼久spring和springmvc一直以為這兩個配置出來的物件是一致的,隨便進行搭配,後來發現原來還是不一致的。springmvc和spring會分別建立乙個ioc容器,那麼我們在進行掃瞄的時候就要注意,下面我們將整個訪問流程,進行乙個梳理,一般情況下,controller是由我們sprin...