Титла: iconv не работи така, както ми се иска :) . Липсва ли му нещо ... ? Публикувано от: laskov в Feb 09, 2020, 21:46 echo "Möller" | LANG=de_DE /usr/bin/iconv -f UTF-8 -t ASCII//TRANSLIT
в Centos 7 връща Moeller , а в xUbuntu връща M?ller Това, което ми е по-важно, е echo "аожяаожеи" | LANG=bg_BG /usr/bin/iconv -f UTF-8 -t ASCII//TRANSLIT да върне aogyaaogei , но то връща ????????? Дори и с Lang=ru_RU е така и в Centos, и в xUbuntu. Как да го накарам да работи? Виждал съм такава функционалност при писането в различни сайтове, значи някак е направено. Има ли заместител или не съм инсталирал нещо допълнително към iconv? Титла: Re: iconv не работи така, както ми се иска :) . Липсва ли му нещо ... ? Публикувано от: 4096bits в Feb 09, 2020, 22:28 Прилича на липса на шрифтове
Титла: Re: iconv не работи така, както ми се иска :) . Липсва ли му нещо ... ? Публикувано от: Naka в Feb 09, 2020, 23:06 Я виж това
https://www.php.net/manual/en/function.iconv.php Въпреки че е за пхп много хубаво е написано за използването на системното iconv Преди да пускаш iconv пробвай да сетнеш правилното LC_CTYPE че iconv e локале зависимо. Обаче ако случайно си решил да правиш транслитерация от бг към латиница по добре си напиши собствена функция. ::) bg_BG в сентос май още сочи към 1251, докато в дебиан е утф8. За сигурност трябва да го пишеш цялото bg_BG.UTF8 Титла: Re: iconv не работи така, както ми се иска :) . Липсва ли му нещо ... ? Публикувано от: remotexx в Feb 10, 2020, 06:32 А какъв е системния локал, т.е. този който ползва echo? А има ли ги инсталирани другите локали които задаваш на Шела .. Там DE, BG в смисъл не УТФ-ските, защото доколкото разбирам искаш да конвертираш до 8 битова кодова таблица?
За да разбереш дали е в iconv проблема най добре пробвай първо с файл ... Там няма значение вече имаш ли го локала или не, от Гугъл гледаш cp1251 и праскаш направо кодовете 16-тично...мисля 255=я /или Я/ И после тоя файл го прекарваш през конвертора и гледаш дали работи правилно Като освен входа и изхода му да е на файл. Ако така работи, значи шела нещо омотава кодировките или пък просто липсват на системно ниво тия 8 битовите Титла: Re: iconv не работи така, както ми се иска :) . Липсва ли му нещо ... ? Публикувано от: Naka в Feb 10, 2020, 12:15 Явно липсват кодови таблици в iconv. За да прави TRANSLIT той трябва да знае за всички езици!!! (за всички code-pages!!!) в цялото уникоде как се транслитерират към ASCII. явно няма такава транслитерационна code-page за кирилицата и затова дава питанки.
iconv e в много основен пакет glibc !!! rpm -qil glibc-common пробвах го в шела в моя центос7 и там дава питанки със всякакви LANG. пробвах го и в php и там дава питнаки. Код: php > echo 'TRANSLIT : '.iconv("UTF-8", "ASCII//TRANSLIT", "аожяаожеи").PHP_EOL; Въобще не те съветвам обаче да си ъпгрейдваш glibc-common че ще повлече цялата система, а и резултата няма да е ясен. Цитат Виждал съм такава функционалност при писането в различни сайтове, значи някак е направено.напиши си собствена php функция за транслитерация. https://www.linux-bg.org/forum/index.php?topic=40223.msg219704#msg219704 Титла: Re: iconv не работи така, както ми се иска :) . Липсва ли му нещо ... ? Публикувано от: laskov в Feb 10, 2020, 13:00 Naka, благодаря много! [_]3
Титла: Re: iconv не работи така, както ми се иска :) . Липсва ли му нещо ... ? Публикувано от: makeme в Feb 10, 2020, 13:16 Ако все пак ти трябва на баш, можеш да пробваш и konwert:
Код: $ echo "аожяаожеи" | konwert utf8-ascii Явно липсват кодови таблици в iconv. За да прави TRANSLIT той трябва да знае за всички езици!!! (за всички code-pages!!!) в цялото уникоде как се транслитерират към ASCII. явно няма такава транслитерационна code-page за кирилицата и затова дава питанки. ПП: Напълно си прав. Трябва ти 2019-08-01: glibc 2.30 released. ($2): Цитат на: glibc 2.30 The following bugs are resolved with this release: На 18.04 съм с : Код: $ ldd --version На манджаро виртуалката като пробвах (там са доста по-нови пакетите): Код: $ ldd --version ПП2: Накрая и аз ще мина на маджата, че ми писна от тия дърти пакети при ubuntu-to. Ония ден се дразнех на upower , преди време на нещо друго и ся колегата като спомена и това... Титла: Re: iconv не работи така, както ми се иска :) . Липсва ли му нещо ... ? Публикувано от: remotexx в Feb 11, 2020, 03:32 При мен пък всичко си работи и с 2.29 (Федора 30) въпреки че е оправено едва в 2.30
Естествено конзолата ги омазва някой кодировки но със файлове всичко е наред напр. Код
Титла: Re: iconv не работи така, както ми се иска :) . Липсва ли му нещо ... ? Публикувано от: makeme в Feb 11, 2020, 10:25 При мен пък всичко си работи и с 2.29 (Федора 30) въпреки че е оправено едва в 2.30Става дума за ASCII. Тея въпросителни не са като ония въпросителни :) Пробвай това дето размятаме: $ echo "аожяаожеи" | LANG=bg_BG /usr/bin/iconv -f UTF-8 -t ASCII//TRANSLIT Титла: Re: iconv не работи така, както ми се иска :) . Липсва ли му нещо ... ? Публикувано от: laskov в Mar 17, 2020, 09:52 $ echo "аожяаожеи" | LANG=bg_BG /usr/bin/iconv -f UTF-8 -t ASCII//TRANSLIT
????????? $ cat /etc/slackware-version Slackware 14.2+ т.е. 14.2-current |