[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Возможна ли поддержка тиклем юникода?



Alexey Pechnikov wrote:
> В сообщении от Monday 19 January 2009 14:56:02 Serhiy Storchaka
>> А какие функции нужны?
> 
> Удаление акцента для символов utf8.

Удаление акцента, как и преобразование регистра, и т.п. производится над
строкой символов уникода. А UTF-8 — всего лишь представление этой строки в
виде последовательности байт.

> Библиотека unaccent работает, но 
> как-то странно - обязательно делает перекодировку даже для utf-16be (при
> вызове unac_string_utf16 почему-то заглавная буква Ё превращается в
> непонятный значок, а unac_string с указанием кодировки возвращает
> корректный результат), хотя по документации не должна, и я никак не могу
> понять, можно ли ее использовать для работы с utf8 представлением.

В документации ошибка, UTF-16 следует читать как UTF-16BE, и
unac_string_utf16 работает именно с UTF-16BE. Вообще же код достаточно
грязный, библиотека может не работать на экзотических платформах, а утилита
unaccent не работает с некоторыми данными и на обычных. С UTF-8 особых
проблем не будет.

> strncasecmp с utf8 почему-то не работает.

Что значит «не работает»? Как оно должно «работать»? Подсказка — что
означает "n"?

> wcsncasecmp для utf16 не проверял, может быть и работает...

wcsncasecmp работает не с utf16, а со строкой широких символов wchar_t.


Reply to: