Вот что хочу спросить, где проблема? В моём коде который генерит UTF-8
текст и пишет его на диск или это потому что процесс у которого LC=C не
может по определению писать на диск UTF-8 текст?
Скорее всего - ни там, ни там. Между твоим кодом и системным вызовом
write имеется куча промежуточных слоев - всякие библиотеки классов, собственно
JRE, libc и т.д. Если в файле действительно НЕ русские буквы, в чем
следует убедиться просмотрев файлы на системе с заведомо известной
локалью, посредством наиболее примитивного вьюера, вроде less,
а то и просмотром шестнадцатиричного дампа файла (хотя не люблю
читать utf-8 в шестнадцатиричном виде. UTF-16 еще куда ни шло), то
проблема скорее всего в каких-нибудь промежуточных библиотеках.
Еще может быть что файлы пишутся в каком-нибудь формате,
предусматривающем явное указание кодировки, например XML. И из-за
неверной локали стандартная функция библиотеки, формирующая файл, может
залепить туда например iso8859-1 в качестве кодировки, после чего
написать честные русские буквы в utf-8. Тогда честный вьюер, учитывающий
информацию из заголовков, покажет то, что обычно называют "крокозяблики"
- латинские буквы со всякими надчерками и крышечками. А при просмотре в
текстовом вьюере вроде less в правильной локали русские буквы будут
видны.
Спасибо!
Павел.
--
To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.org