cloud-init 報錯 UnicodeEncodeError: 'ascii' codec can't encode characters in position 解決辦法

Cloud-init.log日志如下:

cloud-init日志中提示:

? ?UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)


錯誤原因:

? 虛擬機(中文編碼)啟動時 , cloud-init初始化過程中在growpart之后有一個locale模塊把系統(tǒng)編碼改成了英文,所以第一次執(zhí)行系統(tǒng)還是中文編碼,啟動之后系統(tǒng)已經(jīng)是英文編碼了 。

? growpart是基于python的模塊執(zhí)行的,然而python對中文編碼不是很友好,導(dǎo)致cloud-init報錯,無法執(zhí)行后續(xù)操作。


解決辦法:

? 1. 查看系統(tǒng)編碼:

?echo $LANG 或者locale,


?其中的LANG字段表示系統(tǒng)當前的編碼?

2.更改系統(tǒng)編碼:?

修改/etc/sysconfig/i18n,如將中文編碼修改為英文編碼:?

復(fù)制代碼代碼如下:?

LANG= zh_CN.GBK 改為 LANG=" en_US.UTF-8" 之后重啟即可

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容