天天看點

.NET Core 的 Docker 容器目錄亂碼問題

現象

使用

docker exec -ti <容器名> bash

進入容器,使用

ls

指令列出的資料裡面,中文沒有正常顯示。

.NET Core 的 Docker 容器目錄亂碼問題

原因

就是對應的 Shell 字元集不正确的問題,調整對應的字元集為 UTF-8 即可。

解決

  1. 首先執行

    locale -a

    ,檢視輸出的内容裡面是否有 C.UTF-8 字元集。
    .NET Core 的 Docker 容器目錄亂碼問題
  2. 執行

    locale

    檢視目前的字元集,如果均為 POSIX 說明有問題,需要進行變更。
    .NET Core 的 Docker 容器目錄亂碼問題
  3. 變更的方法很簡單,建立/更改一下環境變量即可。

    export LC_ALL="C.UTF-8"

    上面這種方法僅對目前會話有效,如果想永久生效,将上面這句話放到對應的 Shell 的 Profile 裡面即可。
    .NET Core 的 Docker 容器目錄亂碼問題