The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"translit from ru_RU.UTF-8 "
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"translit from ru_RU.UTF-8 "  
Сообщение от devcoder email(ok) on 30-Окт-08, 21:38 
Есть ли c/c++ библиотека для транслитерации с русского в кодировке UTF-8?

echo "Привет" | iconv -c -t us-ascii//TRANSLIT
??????

А хотелось бы увидеть "Privet"
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "translit from ru_RU.UTF-8 "  
Сообщение от Аноним (??) on 31-Окт-08, 01:19 
>Есть ли c/c++ библиотека для транслитерации с русского в кодировке UTF-8?

Какая связи транслита и кодировки?
Топорный способ получения транслита - перевести в koi8 и обрезать старший бит.


Но транслит не нужен!! Правда не нужен. Уникод уже везде. Забудьте про этот изврат ущербных компьютеров европейцев.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "translit from ru_RU.UTF-8 "  
Сообщение от devcoder (ok) on 31-Окт-08, 10:33 
>Какая связи транслита и кодировки?

Даже не знаю как ответить :)
  
>Топорный способ получения транслита - перевести в koi8 и обрезать старший бит.

Способ известный, но качество транслита не очень, особенно "ш", "ч" и т.п. буквам.

>Но транслит не нужен!! Правда не нужен. Уникод уже везде. Забудьте про
>этот изврат ущербных компьютеров европейцев.

С радостью бы это сделал, если бы в протоколах http, ftp, cifs
и в работающих с ними (с этими протоколами) серверами и клиентами
в любых ОС (главным образом включаю ту гадкую ОС,
которая русский однозначно ассоциирует с сp1251)
UTF-8 в URL и путях файловой системы прозрачно был бы поддержан.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "translit from ru_RU.UTF-8 "  
Сообщение от angra (ok) on 31-Окт-08, 17:21 
>>Какая связи транслита и кодировки?
>Даже не знаю как ответить :)
>>Топорный способ получения транслита - перевести в koi8 и обрезать старший бит.
>Способ известный, но качество транслита не очень, особенно "ш", "ч" и т.п.
>буквам.

Вот вы сами себе и ответили, транслит не связан с кодировкой хотя бы из-за нарушения подстановки символ<->символ. Что однако не мешает написать собственную функцию для этой задачи.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "translit from ru_RU.UTF-8 "  
Сообщение от devcoder email(ok) on 31-Окт-08, 19:05 
>Вот вы сами себе и ответили, транслит не связан с кодировкой хотя бы из-за нарушения подстановки символ<->символ. Что однако не мешает написать собственную функцию для этой задачи.

1) Не хочется тратить время, но, похоже, придётся.
2) Если сами подумаете о реализации такой функции,
сразу поймете, для чего для транслита важно знать кодировку исходного текста.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "translit from ru_RU.UTF-8 "  
Сообщение от Сергей (??) on 16-Апр-09, 08:11 
Этот скрипт переименовывает имена файлов в транслит, но он не работает в UTF-8 локали


#!/usr/bin/perl

%TR=(
    'Б' => 'a',
    'В' => 'b',
    'Ч' => 'v',
    'З' => 'g',
    'Д' => 'd',
    'Е' => 'e',
    'Ј' => 'yo',
    'Ц' => 'zh',
    'Ъ' => 'z',
    'Й' => 'i',
    'К' => 'j',
    'Л' => 'k',
    'М' => 'l',
    'Н' => 'm',
    'О' => 'n',
    'П' => 'o',
    'Р' => 'p',
    'Т' => 'r',
    'У' => 's',
    'Ф' => 't',
    'Х' => 'u',
    'Ж' => 'f',
    'И' => 'h',
    'Г' => 'c',
    'Ю' => 'ch',
    'Ы' => 'sh',
    'Э' => 'shh',
    'Ш' => '`',
    'Щ' => 'y',
    'Я' => '`',
    'Ь' => 'e',
    'А' => 'yu',
    'С' => 'ya',
    'б' => 'A',
    'в' => 'B',
    'ч' => 'V',
    'з' => 'G',
    'д' => 'D',
    'е' => 'E',
    'і' => 'Yo',
    'ц' => 'Zh',
    'ъ' => 'Z',
    'й' => 'I',
    'к' => 'J',
    'л' => 'K',
    'м' => 'L',
    'н' => 'M',
    'о' => 'N',
    'п' => 'O',
    'р' => 'P',
    'т' => 'R',
    'у' => 'S',
    'ф' => 'T',
    'х' => 'U',
    'ж' => 'F',
    'и' => 'H',
    'г' => 'C',
    'ю' => 'Ch',
    'ы' => 'Sh',
    'э' => 'Shh',
    'я' => '`',
    'щ' => 'Y',
    'ш' => '`',
    'ь' => 'E',
    'а' => 'Yu',
    'с' => 'Ya',
    ' ' => '_',
    '(' => '_',
    ')' => '_'
            );


@files = <./*>;
foreach (@files) {

    $new=join'',map{tr/.../.../;$TR{$_}||$_}split'',$_;
    rename($_,$new);
}


Подскажите, как его использовать в юникодных системах

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "translit from ru_RU.UTF-8 "  
Сообщение от Сергей (??) on 16-Апр-09, 08:15 
Пардон, вот так конечно же:


#!/usr/bin/perl

%TR=(
    'а' => 'a',
    'б' => 'b',
    'в' => 'v',
    'г' => 'g',
    'д' => 'd',
    'е' => 'e',
    'ё' => 'yo',
    'ж' => 'zh',
    'з' => 'z',
    'и' => 'i',
    'й' => 'j',
    'к' => 'k',
    'л' => 'l',
    'м' => 'm',
    'н' => 'n',
    'о' => 'o',
    'п' => 'p',
    'р' => 'r',
    'с' => 's',
    'т' => 't',
    'у' => 'u',
    'ф' => 'f',
    'х' => 'h',
    'ц' => 'c',
    'ч' => 'ch',
    'ш' => 'sh',
    'щ' => 'shh',
    'ь' => '`',
    'ы' => 'y',
    'ъ' => '`',
    'э' => 'e',
    'ю' => 'yu',
    'я' => 'ya',
    'А' => 'A',
    'Б' => 'B',
    'В' => 'V',
    'Г' => 'G',
    'Д' => 'D',
    'Е' => 'E',
    'Ё' => 'Yo',
    'Ж' => 'Zh',
    'З' => 'Z',
    'И' => 'I',
    'Й' => 'J',
    'К' => 'K',
    'Л' => 'L',
    'М' => 'M',
    'Н' => 'N',
    'О' => 'O',
    'П' => 'P',
    'Р' => 'R',
    'С' => 'S',
    'Т' => 'T',
    'У' => 'U',
    'Ф' => 'F',
    'Х' => 'H',
    'Ц' => 'C',
    'Ч' => 'Ch',
    'Ш' => 'Sh',
    'Щ' => 'Shh',
    'Ъ' => '`',
    'Ы' => 'Y',
    'Ь' => '`',
    'Э' => 'E',
    'Ю' => 'Yu',
    'Я' => 'Ya',
    ' ' => '_',
    '(' => '_',
    ')' => '_'
            );


@files = <./*>;
foreach (@files) {

    $new=join'',map{tr/.../.../;$TR{$_}||$_}split'',$_;
    rename($_,$new);
}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "translit from ru_RU.UTF-8 "  
Сообщение от angra (ok) on 17-Апр-09, 03:57 
Попробуйте просто добавить use utf8 или use locale. Если не получится, то use Encode с ручной перекодировкой.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "translit from ru_RU.UTF-8 "  
Сообщение от anonymous (??) on 16-Апр-09, 19:01 
http://mirrors.med.harvard.edu/ctan/support/translit/
но будет ли работать с utf8, не знаю
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру