A.
Запрос кодировки базы данных
выберите Userenv ( « язык » ) из двойного;
Кодировка сервера запросов
выберите * от v $ nls_parameters;
Запущенный кодирование системы SQL запросов
корень @ f096e625bcd3: / # локали ЛАНГ = ЯЗЫК = 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, можно использовать Sudo APT-получить -y установить установку языка пак-ZH-HANS.
Sudo apt - прибудет -y установки языка вьючных ZH-Ганса
C.UTF-8 может поддерживать китайский, просто необходимо, чтобы закодировать контейнер может C.UTF-8
1. Временное изменение:
экспорт LANG = zh_CN.UTF-8
корень @ f096e625bcd3: / # экспорт LANG = zh_CN.UTF- 8 корень @ f096e625bcd3: / # локали ЛАНГ = zh_CN.UTF- 8 ЯЗЫК = 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 ЛАНГ C.UTF-8
Воссоздание Docker зеркала, Docker запустить -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
успех