- Когда iconv не работает
- Создание сайтов на Django
- dimayakovlev.ru
- Другие заметки
- Регистронезависимое сравнение строк в Bash
- Ajax запрос фрагмента страницы с использованием JQuery
- Iconv не перекодирует.
- iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Re: iconv спотыкается
- Когда iconv не работает
- Создание сайтов на Django
Когда iconv не работает
Создание сайтов на Django
Данный курс научит Вас создавать сайты на очень мощном фреймворке – Django. Курс состоит из 9 разделов, в которых Вы с нуля освоите данный фреймворк на примере создания полноценного Интернет-магазина.
В рамках многочисленных упражнений Вы так же создадите свой собственный сайт, что даст Вам ту необходимую практику для закрепления материала, а также полноценную серьёзную работу для своего портфолио.
Помимо самого курса Вас ждёт ещё и бесплатный ценный Бонус: «Unit-тестирование сайта на Django». В этом Бонусе Вы узнаете, как можно написать автоматические тесты для проекта на Django. Это позволит находить оперативно ошибки, а также даст возможность в будущем добавлять новый функционал, не боясь что-то сломать в старом.
Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.
Подписаться
Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.
Подписаться
Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.
Мой аккаунт Моя группа
Зачем Вы изучаете программирование/создание сайтов?
Написание лайфхаков на Python для начинающих
Данный курс покажет Вам, как можно автоматизировать рутинные задачи с помощью Python. В курсе Вас ждёт несколько примеров и все исходники.
Чтобы получить Видеокурс,
заполните форму
Этапы создания и продвижения лендинга
— Вы увидите мои лендинги и их результаты.
— Вы узнаете, какие этапы создания и продвижения у лендингов.
— Вы получите 2 различных пошаговых бизнес-плана, основанных на создании лендингов.
— Вы узнаете, как автоматизировать продвижение: создали лендинг, настроили продвижение, и годами он работает уже без Вас.
Источник
dimayakovlev.ru
Переводя текст из одной кодовой страницы в другую, используя PHP функцию iconv() , можно столкнуться с проблемой — iconv() не возвращает ничего. На самом деле, возвращает, но не ожидаемую строку, а логическое значение false . Почему так происходит и что с этим делать?
Предлагаю рассмотреть описанную проблему на конкретном примере: перекодировка текстовой строки из кодовой страницы UTF-8 в KOI8-R. Это частая задача, с которой сталкиваются разработчики, например, при подготовке текста, полученного из формы обратной связи, для отправки его в виде текста письма по электронной почте.
Начиная с версии PHP 5.4, такой код не выведет ничего. Но если посмотреть дамп, то будет видно, что функция iconv() возвращает значение false . А если включен режим вывода сообщений об ошибках, то вы увидите Notice: iconv(): Detected an illegal character in input string in . .
Это происходит в тех случаях, когда конвертируемая строка содержит символы, отсутствующие в целевой кодовой странице. В строке из примера я выделил символы, приводящие к появлению ошибки перекодировки из UTF-8 в кодовую страницу KOI8-R:
« Potato #345 » — a simple portrait of an organic Irish spud — reportedly sold for €1 million.
До версии PHP 5.4, в случае, если функция iconv() встречала проблемные символы в перекодируемой строке, то она возвращала часть строки до первого найденного символа.
Зная об особенности работы функции iconv() , можно выбрать один из следующих методов решения потенциальной проблемы:
- предварительно удалить из перекодируемой строки символы, приводящие к ошибке;
- использовать специальные флаги, управляющие работой функции.
Конечно, при желании можно использовать первый метод, но он не универсален, так как придётся учитывать все символы, отсутствующие в целевой кодовой странице. Гораздо удобнее и правильно использовать второй метод.
Функция iconv() поддерживает два флага, добавляемых к указываемой целевой кодовой странице:
- //TRANSLIT – включает режим транслитерации, выполняющий замену символов, которые не могут быть представлены в целевой кодовой странице, на один или несколько символов, наиболее близких по внешнему виду;
- //IGNORE – включает режим, удаляющий символы, которые не могут быть представлены в целевой кодовой странице.
Следует учитывать, что работа режима //TRANSLIT зависит от реализации iconv() в системе, поэтому этот режим может работать некорректно или не работать совсем, что приведёт к появлению ошибки. Поэтому надёжнее указывать сразу оба флага:
Результат выполнения функции iconv() с флагами выглядит так:
« Potato #345 » – a simple portrait of an organic Irish spud – reportedly sold for EUR1 million.
Думаю, что теперь у вас не возникнет вопроса о том, что делать и почему “ iconv() не возвращает ничего”.
Другие заметки
Регистронезависимое сравнение строк в Bash
Сравнение строк в Bash не вызывает никаких проблем до тех пор, пока не возникает задача сравнить две строки, не учитывая регистр символов. Я приведу несколько вариантов решения задачи, которые использую сам. Особенностью этих решений является использование только встроенных возможностей оболочки Bash.
Ajax запрос фрагмента страницы с использованием JQuery
Когда возникает потребность в обновлении блоков текущей страницы без её перезагрузки, получая содержимое для этих блоков на других страницах веб-сайта, следует использовать технологию Ajax. Библиотека JQuery значительно упрощает задачу, предоставляя необходимые методы для обработки Ajax запросов.
dimayakovlev.ru © 2021 — Личная территория внутри всемирной паутины
Сайт создан и поддерживается мною с целью сохранения и распространения в свободном доступе опубликованных на нём материалов. Авторство разработок, текстов и изображений, принадлежит мне, если иное не указано отдельно.
При копировании материалов с сайта, не забывайте о важности обратных ссылок.
Размещение обратной индексируемой ссылки показывает интерес к содержанию сайта, что мотивирует к работе над новыми материалами.
Источник
Iconv не перекодирует.
Здрасте. Хочу исправить кодировку cue. Пишу
iconv -f iso-8859-15 -t windows-1251 -o out.cue in.cue и выдает: iconv: недопустимая входная последовательность в позиции 107, если добавить после iconv -c, то в файл русские буквы не пишутся.
Причем если я выбираю в онлайн перекодировщике те же кодировки и вставляю текст из cue, то все идеально переводится. Что не так?
Пример текста: PERFORMER «Êîðîëü è Øóò» TITLE «Òåíü Êëîóíà (2008, Íèêèòèí)»
iconv понимает, что акцентированные латинские буквы в русские никак не переконвертировать. Разные они. Как у тебя на самом деле все устроено, скажи лучше. Если там кодировка UTF-8, то надо делать что-нибудь такое:
Enca выдаёт: enca ‘/home/user/Music/file.cue’ MS-Windows code page 1251
А если и правда она однобитная в исходном файле, то вообще
Благодарю, добрый человече, все по русски теперь. Отчего такое быть может? Я уже в этих кодировках запутался.
iso-8859-15 и windows-1251 имеют обсалютно различный набор символов и не могут быть перекодированы одна в другую, что делает онлайн перекодировщик это у него нужно спросить .
Причины появления у тебя файлов в кодировке cp1251 мне нневедомы, увы. Наверное, с пользователями виндов якшаешься 🙂
Источник
iconv спотыкается
Читаю книги командой вида:
iconv -f koi-8 -t utf-8 -c
При этом пропадают некоторые буквы и куски слов: пропадают «ё», «интеллигент» превращается в «нт» и т.п. Без -c вылетает с ошибкой о недопустимом символе на первом же «ё». Что делать, куда копать? Локаль — ru_RU.UTF-8, дистрибутив — Fedora Core 6.
Re: iconv спотыкается
Извиняюсь. На и не обращайте внимания.
Re: iconv спотыкается
man iconv -у него есть список не работающих комбинаций кодировок
В частности из koi8 в utf-8
Re: iconv спотыкается
Оппа. А почему так?
Re: iconv спотыкается
потому что когда придумывается новая кодировка ,авторов меньше всего волнует возможность свободной конвертации в. и из.
Re: iconv спотыкается
> потому что когда придумывается новая кодировка ,авторов меньше всего волнует возможность свободной конвертации в. и из.
В стандарте на КОИ-8 ё есть. В UCS-2 ё есть. В UTF-8 ё есть. В чём может быть проблема? Или он использует какую-то свою хитрую внутреннюю кодировку? А с сочетаниями букв тем более непонятно.
Понимаю, что вопрос не по адресу, поэтому буду тем более рад ответу.
Re: iconv спотыкается
> man iconv -у него есть список не работающих комбинаций кодировок
В самом man iconv о неработающих КОМБИНАЦИЯХ ни слова. Я правильно понял, что имелось в виду что-то вроде man 3 iconv_open ?
Re: iconv спотыкается
у меня под фрей -прямо в man iconv
Re: iconv спотыкается
У меня в мане написано, что он от BSD, но про комбинации — ни слова. Датирован, правда, 2001 годом. Ладно, буду копать дальше.
Re: iconv спотыкается
Re: iconv спотыкается
Попробуй использовать piconv (iconv, переписаный на перле) — с ним таких проблем вроде нет.
С иконвом подобное тоже встречал, так до конца и не разобрался.
Можешь ещё enca (enconv) попробовать — она ещё и кодировку входного файла сама определяет.
Re: iconv спотыкается
А не проще ли iconv -f koi-8 -t cp1251 | iconv -f 1251 и ничего искать не надо?
Re: iconv спотыкается
>iconv -f koi-8 -t utf-8 -c
А это точно что koi-8, может koi8-r ?
Re: iconv спотыкается
само собой это был koi8-r (очепятка)
Re: iconv спотыкается
>А это точно что koi-8, может koi8-r ?
Принимает и то и другое. Результат тоже один.
Re: iconv спотыкается
> А не проще ли iconv -f koi-8 -t cp1251 | iconv -f 1251 и ничего искать не надо?
А сработает? Ошибка — на недопустимый для КОИ-8 символ.
Re: iconv спотыкается
Стало интересно. Скачал libiconv с gnu.org — оно здорово отличается от того, что в Федоре. Кто-нибудь может подсказать, в каком RPM находится iconv ? Заранее спасибо.
Re: iconv спотыкается
>Кто-нибудь может подсказать, в каком RPM находится iconv ? Заранее >спасибо.
Источник
Когда iconv не работает
Создание сайтов на Django
Данный курс научит Вас создавать сайты на очень мощном фреймворке – Django. Курс состоит из 9 разделов, в которых Вы с нуля освоите данный фреймворк на примере создания полноценного Интернет-магазина.
В рамках многочисленных упражнений Вы так же создадите свой собственный сайт, что даст Вам ту необходимую практику для закрепления материала, а также полноценную серьёзную работу для своего портфолио.
Помимо самого курса Вас ждёт ещё и бесплатный ценный Бонус: «Unit-тестирование сайта на Django». В этом Бонусе Вы узнаете, как можно написать автоматические тесты для проекта на Django. Это позволит находить оперативно ошибки, а также даст возможность в будущем добавлять новый функционал, не боясь что-то сломать в старом.
Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.
Подписаться
Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.
Подписаться
Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.
Мой аккаунт Моя группа
Зачем Вы изучаете программирование/создание сайтов?
Создание мультиплеерной игры на Unreal Engine 4
В этом курсе Вы увидите пример создания мультиплеерной игры на Unreal Engine 4: создание персонажа, HUD, атака, блокировка, главное меню и многое другое.
Чтобы получить Видеокурс,
заполните форму
Этапы создания и продвижения лендинга
— Вы увидите мои лендинги и их результаты.
— Вы узнаете, какие этапы создания и продвижения у лендингов.
— Вы получите 2 различных пошаговых бизнес-плана, основанных на создании лендингов.
— Вы узнаете, как автоматизировать продвижение: создали лендинг, настроили продвижение, и годами он работает уже без Вас.
Источник