8.5.3.fp3 Utf-8 & 'и'

garrick

Lotus team
26.10.2009
894
61
#1
При сохранении кода в кодировке UTF-8 буква 'И' подменяется кракозяброй со знаком вопроса и так в дальнейшем отображается в программе. Никто не встречался с такой глюкофичей?
 

garrick

Lotus team
26.10.2009
894
61
#2
Никого, кроме меня, это не беспокоит или ни кто не знает как это полечить без подмены "И" на "\u0418"?
 

lmike

нет, пердело совершенство
Премиум
27.08.2008
6 567
263
#3
не ясна вся история :)
если продолжать сетовать на судьбу...
Здесь как всегда отличился Windows. Когда повсеместно было принято решение переходить от старых неудобных однобайтных кодировок к более сложным, все ОС перешли к удобной UTF-8, а любимое детище Microsoft перешло на фиксированную двухбайтную. При этом они вообще не позаботились о том, какая кодировка используется, например, в именах файлов. Но кодировка нас сейчас тоже не очень заботит. Нам надо передать строку параметров в Java (в которой тоже принят двухбайтный char). Поэтому для Windows мы вызываем API-функцию (ради которой мы и тащили windows.h), которая выдаст нам строку параметров в правильной двухбайтной кодировке. Так мы получим возможность, например, открывать файлы с кириллицей в названии. Во всех прочих системах мы просто читаем параметры из аргументов функции main.
переходы из вин1251 и прочей виндохрени - всегда сопряжено с гимором, выяснить конкретный косяк - сложно