3

У меня проблемы с разными кодировками в Windows и Linux (Centos).

У меня есть файлы со специальными символами в именах файлов из разных языков. Zip-архив создается под Win7 и загружается на сервер Linux. Под Windows все символы отображались нормально, как и ожидалось. Но после загрузки и распаковки с помощью phps ' ZipArchive() или Linux unzip , некоторые специальные символы отображались со странными неправильными символами.

Я знаю, что это известная проблема во взаимодействии между Windows и Linux, но я не могу решить свою проблему. Я пытался разархивировать мой zip-файл с разными кодировками, но у меня ничего не получалось. На португальском языке характерная черта характера создает много проблем, но все в порядке.

aplicações.txt после разархивации aplicaçΣes.txt

Насколько я понял правильно, windows использует кодировку ASCII-кода IBM860, но иногда я читаю windows-1257 и не знаю, какая кодировка используется, когда zip-архив создается с WinRar под Win7. Есть ли способ проверить это или сказать WinRar использовать UTF-8?

Когда zip-архив загружается в Linux и распаковывается с помощью ZipArchive() (php) или в Linux bash с помощью unzip , имена файлов неверны. Думаю, это потому, что Linux использовал UTF-8.

Под командой Linux я попытался:

unzip -O windows-1257 uploaded.zip -d zipout/ 

Под командой Linux я попытался:

unzip -O IBM860 uploaded.zip -d zipout/ 

Под командой Linux я попытался:

unzip -O IBM437 uploaded.zip -d zipout/ 

Под командой Linux я попытался:

unzip -O UTF-8 uploaded.zip -d zipout/ 

Под командой Linux я попытался:

unzip -O UTF-16 uploaded.zip -d zipout/

1 ответ1

0

Если языком вашей версии Windows 7, используемой для архивирования файлов, является бразильский португальский язык, то, вероятно, кодировкой будет IBM-850 или Windows-1252. Попробуйте это.

У меня тоже есть эта проблема. Но также бывает при переносе между разными языками Windows. Например, между английской и бразильской португальской версиями Windows английская версия использует IBM-437, а версия pt-BR - IBM-850.

Если вы используете WinZip для архивирования, эта проблема не возникает. Я не рекомендую использовать встроенную Windows для архивирования и / или распаковки, так как это также вызывает проблемы с кодировкой имен файлов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .