Поиск по этому блогу

Показаны сообщения с ярлыком кодировка. Показать все сообщения
Показаны сообщения с ярлыком кодировка. Показать все сообщения

четверг, 13 октября 2011 г.

django percent-encoded кириллица в ссылках при использовании ajax jquery.

Задача - из ссылки в кириллице, которая приходит в виде %D%0 получить удобочитаемый текст на кириллице.


Выдаёт ссылку ajax jquery строкой в шаблоне:
    abc = $('.name').serialize(),
    $("#itog").load('/book_added1/',{datta:abc});


Получает ссылку код в views.py
catch3 = request.POST['datta']

Здесь как раз и получаем краказябры по-научному именуемые percent-encoded >>  %D%0 и т.д.
Дальше - нормализуем utf , используя модуль unidecode  -:

from unidecode import unidecode
tempest = unidecode(catch3)

И получаем нормальную кириллицу с помощью модуля urllib:

catch2 = urllib.url2pathname(tempest)

На выходе получаем строку на кириллице. Но там будут заменены пробелы на плюсы типа:

Книжка+-+раскрасска


Исправляем это безобразие:

name =catch2.replace('+',' ')

И получаем Книжка+-+раскрасска >> Книжка - раскрасска

Всё!

P.s. модуль unidecode ставим по этой ссылке >>  http://pypi.python.org/pypi/Unidecode/

среда, 23 февраля 2011 г.

Перекодирование тэгов mp3 коллекции в UTF-8

Есть пакет media-libs/mutagen - это набор небольших утилит написанных на питоне, существенно помогающих облегчить конвертацию.

Устанавливаем mutagen:
в Ubuntu:
sudo apt-get install python-mutagen

Пишем такую команду:

find . -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1

и этой командой перекодируем все файлы с тегами в кодировке cp1251 в кодировку utf8, попутно удаляем тег первой версии, дабы Amarok не обращал на него внимания.