Специальные символы, не отображенные правильно

У меня есть проблема, когда я копирую файл с Сервера (Debian 7.4) к Серверу B (Debian 7.4). Польские специальные символы в файлах не отображены правильно на Сервере B (в mcedit).

Я создал файл со специальным символом полировки на сервере A. Это отображено правильно на Сервере A. Когда я работаю locale на Сервере добрался я LANG=pl_PL.UTF-8 Другие переменные кроме LANGUAGE и LC=ALL также установлены на pl_PL.UTF-8. Затем я смолю файл, и на Сервере B я загружаю просмоленный файл командой wget. На Сервере B я untar файл и когда я смотрю на содержание файла (mcedit) затем, полирует буквы, отображены неправильные. Существуют "ромбы" вместо специальных символов. Когда я работаю locale на сервере B затем LANG=en_US.UTF-8. Другие переменные кроме LANGUAGE и LC=ALL также установлены на en_US.UTF-8.

Затем я выполняю миграции базы данных (сценарий PHP), и поврежденные данные вставляются в базу данных. Когда я добавляю, что строки в миграции затем полируют специальные символы, заменяются строками как Å› (буква полировки ś заменяется Å›).

Я зарегистрировался в mcedit, что файл на сервере A и на сервере B имеет то же значение на обоих серверах. Polsih обозначают буквами 'ś', C5 9B (шестнадцатеричное число) на обеих машинах.

Худшая вещь состоит в том, что каждый раз существуют специальные символы, я должен вручную проверить и исправить ошибки в базе данных.

Вероятно, когда я редактирую значения столбцов в базе данных php миграцией, пишут сценарий его, также повреждает мои данные в базе данных. После того как я считал данные с таблицы, которой затем управляют и затем сохраненной, и мои данные были также повреждены.

Если я изменяю локали на Сервере B к pl_PL.UTF-8 затем специальные символы на других языках (как немецкий язык, чешский язык и т.д.) будут работать хорошо? Если это, это - проблема со шрифтами затем, почему также миграции базы данных повреждаются? Я использую UTF-8 затем, каждый специальный символ с каждого языка должен быть отображен правильно? Как правильно отобразить специальные символы с каждого языка и что сделать к php миграциям, были выполнены правильно?

ОБНОВЛЕНИЕ 1:
Сервер A locale -a выводы:

C
C.UTF-8
pl_PL.utf8
POSIX

Сервер B locale -a выводы:

C
C.UTF-8
en_US.utf8
POSIX

На обеих локалях серверов-m выводы много charmaps (кажется тем же на обеих машинах),

0
задан 16 October 2015 в 15:48
1 ответ

Проверьте вывод locale -a и locale -m , чтобы убедиться, что на сервере B установлены правильные языковые стандарты и кодировки для правильной интерпретации pl_PL. UTF-8

0
ответ дан 24 November 2019 в 08:00

Теги

Похожие вопросы