У меня есть проблема, когда я копирую файл с Сервера (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 (кажется тем же на обеих машинах),
Проверьте вывод locale -a
и locale -m
, чтобы убедиться, что на сервере B установлены правильные языковые стандарты и кодировки для правильной интерпретации pl_PL. UTF-8