Commit 42dd1c69 authored by Dmitry Shelepnev's avatar Dmitry Shelepnev
Browse files

Update annotation encoding from 4bytes to 3-bytes utf

parent e2f75533
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -127,7 +127,7 @@ UBUNTU: для работы с БД Mysql в UBUNTU потребовалось
    'OPTIONS' : {
        'init_command': """SET default_storage_engine=INNODB; \
                           SET sql_mode='STRICT_TRANS_TABLES'; \
                           SET NAMES UTF8; \
                           SET NAMES UTF8 COLLATE utf8_general_ci; \
                           SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
                        """
    }
+8 −1
Original line number Diff line number Diff line
# -*- coding: utf-8 -*-

import os
import re

from django.db.models import Q
from django.utils.translation import ugettext as _
@@ -34,6 +35,12 @@ CMP_TITLE_AUTHORS=1
#
unknown_genre=_('Unknown genre')

##########################################################################
# объект который мы будем использовать для перекодироки 4х байтного UTF в 3х байтный
# пока только для аннотации, т.к. там уже "словлена" ошибка при записи в 3х байтный utf8 MYSQL
#
utfhigh = re.compile(u'[\U00010000-\U0010ffff]')

def clear_all(verbose=False):
    count = bseries.objects.all().delete()
    if verbose: print("From bseries table %s row deleted"%count[0])
@@ -67,7 +74,7 @@ def clear_all(verbose=False):
#

def p(s,size):
    new = s.encode('utf8', 'replace').decode('utf8')[:size]
    new = utfhigh.sub(u'',s[:size])
    return new
    
def getlangcode(s):