A.
コーディングデータベースを照会
選択(USERENV 「言語」)からデュアル;
クエリサーバーのエンコード
選択 * から $ NLS_PARAMETERS V;
進水SQLクエリシステムのコーディング
ルートの@ f096e625bcd3:/ #ロケール LANG = LANGUAGE = LC_CTYPE = " POSIX " LC_NUMERIC = " POSIX " LC_TIME = " POSIX " LC_COLLATE = " POSIX " LC_MONETARY = " POSIX " LC_MESSAGES = " POSIX " LC_PAPER = " POSIX " LC_NAME = " POSIX " LC_ADDRESS = " POSIX " LC_TELEPHONE =" POSIX " LC_MEASUREMENT = " POSIX " LC_IDENTIFICATION = " POSIX " LC_ALL =
あなたは、POSIXに現在のエンコード形式を見ることができ、このエンコード形式は、中国をサポートしていません。
解決法:ロケールがすべてのロケール用のコンテナをチェック-a
現在利用可能な文字セットを表示-aロケールを使用して、ここではC.UTF-8とzn_CN.UTF-8、これら二つの支持の中国の文字セットを参照してください。何zn_CN.UTF-8は現在存在しない場合、apt-getを-yは、言語パック-ZH-ハンス・インストールをインストールするsudoを使用することができます。
sudoのAPT- GET -yインストール言語パック-ZH-ハンス
C.UTF-8は中国をサポートすることができ、ちょうどC.UTF-8できるコンテナをエンコードする必要があります
1.一時的な更新します:
輸出LANG = zh_CN.UTF-8
ルートの@ f096e625bcd3:/#輸出LANG = zh_CN.UTF- 8 ルートの@ f096e625bcd3: / #ロケール LANG = zh_CN.UTF- 8 LANGUAGE = LC_CTYPE = " zh_CN.UTF-8 " LC_NUMERIC = " zh_CN.UTF-8 " LC_TIME = " zh_CN.UTF-8 " LC_COLLATE = " zh_CN.UTF-8 " LC_MONETARY = 」がzh_CN。 UTF-8 " LC_MESSAGES = " zh_CN.UTF-8 " LC_PAPER = " zh_CN.UTF-8 " LC_NAME = " zh_CN.UTF-8 」 LC_ADDRESS = "zh_CN.UTF-8 " LC_TELEPHONE = " zh_CN.UTF-8 " LC_MEASUREMENT = " zh_CN.UTF-8 " LC_IDENTIFICATION = " zh_CN.UTF-8 " LC_ALL =
2.永久修正:修正Dockerfile
Dockerfileに行を追加します。
ENV LANG C.UTF-8
再作成し、ドッキングウィンドウの実行をドッキングウィンドウミラーを-tiコンテナのロケールは、エンコーディングフォーマットが文字化けする問題がなくなっている中国のファイル名の出現の前に、C.UTF-8に変更された見つける入力した後に実行[鏡]。
III。オラクル・コーディングを変更
1.現在のデータベースのエンコーディングを確認
選択(USERENV 「言語」)からデュアル;
SQL> を選択し USERENV(' 言語')からデュアル; USERENV(' LANGUAGE ' ) -------------------------------------------- -------- AMERICAN_AMERICA.AL32UTF8
2.システムを確認NLS_LANG
エコー$ NLS_LANG
NLS_LANGを設定します
輸出NLS_LANG = AMERICAN_AMERICA.AL32UTF8
成功