У меня есть архив tar, созданный на старой машине Unixware с использованием кодировки ISO8859-1. Когда я пытаюсь извлечь его под Macosx Lion, я испытываю некоторую странность с немецкими умляутами. Например:
Я открываю окно terminal.app с кодировкой «ISO8859-1» и устанавливаю свой языковой стандарт следующим образом:
export LANG=de_DE.ISO8859-1
export LC_ALL=de_DE.ISO8859-1
затем загляните в архив:
dhcp202:Downloads frank$ tar tvf backup.tar home/frank
x home/frank/
x home/frank/Präferenzen/
обратите внимание, что "ä" отображается правильно
Затем распаковываю архив с
tar xvf backup.tar главная / франк
"ä" также отображается правильно в выводе tar, но когда я перечисляю содержимое каталога, я вижу:
dhcp202:Downloads frank$ ls home/frank
Pr%E4ferenzen
Что с этим?
Имена файлов в HFS + находятся в формате UTF-8, а не в какой-либо другой кодировке (ну, кроме MacRoman для старых файлов). Вы можете увидеть код, связанный с этим, в исходный код ядра; например, в getdirentries_callback()
в hfs_catalog.c
.