解決使用svn clone/update時遭遇: E000022的問題

解決使用svn時遭遇: E000022: Can't convert string from native encoding to 'UTF-8':的問題

 

這是因為你的svn上面的檔案名稱包含非目前執行環境可接受得utf-8字元,例如我用中文,但是我環境是精簡的docker開發環境時遭遇這個問題。

確認問題

1. 使用locale看你目前的環境

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


2. 嘗試列看看可以使用的語言

localectl list-locales

如果都列不出中文,如zh,zh_TW,就該安裝語言套件


3. 安裝語言套件

在fedora, centos系統下使用 dnf search langpacks-可以找到zh_TW得語言套件

langpacks-zh_TW.noarch : Traditional Chinese langpacks meta-package

安裝

dnf -y install langpacks-zh_TW.noarch


4. 設定成指定語言

localectl set-locale LANG=zh_TW.utf8


5. 重新登入,讓設定生效


6. 可確認設定已改

localectl

locale



LANG=zh_TW.utf8
LC_CTYPE="zh_TW.utf8"
LC_NUMERIC="zh_TW.utf8"
LC_TIME="zh_TW.utf8"
...
LC_ALL=

留言