Добрый день.
Раньше использовал, в общем и до сих пор использую, кодировку koi8-r и все бы хорошо, пока не нужна совместимость с одной альтернативной операционной системой. Я умею монтировать виндовые диски, самбовые шары, чтобы все читалось, перекодировать файлы и тп. Речь не об этом.
Решил я, что надо двигаться по пути прогресса и использовать unicode. Пишу именно так, потому что в этом и проблема. Оказывается винда и линукс используют разный уникод. В линуксе у нас UTF8, а в винде UTF16. И друг-друга они часто не понимают!
Началось все с того, что я перекодировал все id3 тэги в своих мп3шках, в utf8. После чего BMP их замечательно воспроизводил и сортировал и все такое. Но, когда я записал файлы другу на диск, выяснилось, что ни один виндовый плеер их читать не может. Вместо буковок пишет кракозябли. Сперва я подумал, что винда на самом деле Уникод не понимает. Но потом, виндузоиды мне объяснили, что мол они юзают "правильный уникод", который UTF16.
Оставим оголтелых в покое, речь сейчас не о них и не о ХолиВарс. Я начал проверять все подряд, начиная с простого именования файлов UTF8 и ничего в винде прочитать не могу. Вот и не знаю теперь. Что делать? Обещанного счастья с unicode, когда все всех понимают нет вовсе, или я просто чего-то не понимаю? Вобщем запутался я.
Итак, что делать? Хочется чтобы имена файлов, тэги, содержимое файлов читались и там и там без лишних бубнов.
P.s. Разницу между UTF8 - 16 - 32 BE/LE я знаю. Прочитал.