[Comm] Re: кодировки [JT]

Alexej Kryukov =?iso-8859-1?q?akrioukov_=CE=C1_mail=2Eru?=
Пт Янв 16 21:19:15 MSK 2004


On Friday 16 January 2004 20:36, Vitaly Ostanin wrote:
> > >
> > > Я наткнулся на эту ситуацию при сборке XML документа на
> > > французском в pdf. Это именно U+0092 (’), в pdf он попал
> > > белым квадратом (используется unicode-шрифт, нужный символ в
> > > нём есть, проверено с разными шрифтами). В html-выводе то же
> > > самое.
> >
> > По-моему, U+0092 != ’. ’ -- это *8-битный* символ,
>
> 146 - это код символа в UNICODE, нотация ’ - это код
> UNICODE в десятичной системе счисления (XML entity для ввода
> символа).

Да нет же! Для чисел < 256 подобные entities означают ссылку не
на Юникод, а на место в текущей кодовой странице, которая может
быть и 8-битной. Если не верите, попробуйте отобразить в браузере
документ следующего содержания:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv=Content-Type>
</head>
<body>
<p>&#146;&#x92;&#x2019;</p>
</body>
</html>


> 9*16+2 = 146
>
> Про "8-битный символ" деликатно молчу ;)

Еще раз повторяю, что 146 == 0x92 != U+0092. Шестнадцатиричную
систему счисления я тоже знаю ;-)

> Документ собирался из XML с корректным указанием кодировки,
> текущая кодовая страница ни при чём. Разве что сглючила в notepad
> со вводом на французском, о чём я и говорю :)

*Какая* кодировка там была указана? koi8, что ли? Факт тот, что, если
notepad работал в 8-битном режиме, то никаких других кодов, кроме
соответствующих cp1252, французская клавиатура производить не могла.
В чем здесь глюк?

> > Еще раз. Судя по тому, что Вы пишете, Вам нужен был не
> > accent aigu, а именно апостроф. Код этого символа в кодировке
> > cp1252 -- именно 146 (0x92). Отображаться на Unicode он
> > должен как U+2019. В кодировке iso8859-1 этого символа
> > нет,
>
> Нет, мне был нужен именно accute accent, и он есть в кодировке
> iso8859-1 :) Проблема была именно в том, что блокнот записывал
> этот символ неправильным кодом.

Тогда объясните, в каком контексте во французском языке может
встретиться acute accent *сам по себе*, а не над буквой. Вы же
привели пример (d'un), а это именно апостроф.




Подробная информация о списке рассылки community