Переход на другую кодировку (удачно!)

Ответить
deaf-cat
Сообщения: 5
Зарегистрирован: Сб окт 04, 2008 10:01 am

Переход на другую кодировку (удачно!)

Сообщение deaf-cat »

Читал http://abills.net.ua./wiki/doku.php?id= ... ocs:faq:ru
openSuse 10.3
мой конф /usr/abills/libexec/config.pl (начало):

Код: Выделить всё

#!/usr/bin/perl -w
# Abills configuretion file

$PROGRAM='~AsmodeuS~ Billing System';

#DB configuration
$conf{dbhost}='localhost';
$conf{dbname}='abills';
$conf{dbuser}='abills';
$conf{dbpasswd}='*****';
$conf{dbtype}='mysql';
#For MySQL 5 and highter (utf8, utf8)
$conf{dbcharset}='utf8';
#$conf{dbcharset}='utf8';

#Mail configuration
$conf{ADMIN_MAIL}='root@localhost';
$conf{USERS_MAIL_DOMAIN}='localhost';
$conf{MAIL_CHARSET}='utf8';
$conf{default_language}='russian';
$conf{default_charset}='utf-8';
$conf{WEB_TITLE}='Statistics';
Скрипт перекодировки не заработал (видать find от FreeBSD был), изменил на такой:

Код: Выделить всё

#!/bin/sh

ICONV="iconv";
BASE_CHARSET="utf8";
OUTPUT_CHARSET="utf8";
FIND="/usr/bin/find"
WRKSRC=`pwd`

#Convert lang files
##${FIND} ${WRKSRC}/language -name "*.pl" -type f -exec ${ICONV}  -f${BASE_CHARSET} -t${OUTPUT_CHARSET} {} -o {}.bak `mv {}.bak {}` \;
${FIND} ${WRKSRC}/language -name "*.pl" -type f -exec ${ICONV}  -f${BASE_CHARSET} -t${OUTPUT_CHARSET} {} -o {}.bak \;
${FIND} ${WRKSRC}/language -name "*.pl" -type f -exec cp {} {}.old  \;
${FIND} ${WRKSRC}/language -name "*.pl" -type f -exec mv {}.bak {}  \;

#Convert modules lang files
##${FIND} ${WRKSRC}/language -name "lng*.pl" -type f -exec ${ICONV} -f${BASE_CHARSET} -t${OUTPUT_CHARSET} {} -o {}.bak `mv {}.bak {}` \;
${FIND} ${WRKSRC}/ -name "lng*.pl" -type f -exec ${ICONV}  -f${BASE_CHARSET} -t${OUTPUT_CHARSET} {} -o {}.bak \;
${FIND} ${WRKSRC}/ -name "lng*.pl" -type f -exec cp {} {}.old  \;
${FIND} ${WRKSRC}/ -name "lng*.pl" -type f -exec mv {}.bak {}  \;
То есть примерно тоже самое, но с одним лишним шагом...

Ну что ж интерфес нормальный, а вот с базой траблы :(
Стоит только что-то по русски написать, сразу вопросики... что я не доделал?
Или может дешевле сразу вернуться на utf8 ?
Последний раз редактировалось deaf-cat Сб окт 11, 2008 6:13 pm, всего редактировалось 1 раз.

NiTr0
Сообщения: 767
Зарегистрирован: Пт фев 08, 2008 4:46 pm

Сообщение NiTr0 »

Какой collate в базе пользуется? Сделать базы все в утф8 (либо при создании задать, либо - сдампить, сменить кодировку и залить обратно).

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

а из-за чего ваще сыр-бор? таже сюзя 10.3

$conf{default_charset}='windows-1251';
$conf{dbcharset} - ваще не юзаю... и всё пучком... зачем все эти танцы с бубном? скушна чтоль?

deaf-cat
Сообщения: 5
Зарегистрирован: Сб окт 04, 2008 10:01 am

Сообщение deaf-cat »

Да нет не скучно, я просто больше UTF8 люблю и считаю что надо двигаться к этой кодировке... дабы не возникали проблемы с кодировками... попробовал ваш рецепт - перекодировал все обратно в utf8, указал $conf{default_charset}='windows-1251';
Закоментарил
#$conf{dbcharset} и о чудо ! Все заработало!

Последнее я никак бы не додумался сделать без вашего совета, потому как в самом конфиге явно написано - #For MySQL 5 and highter (utf8, utf8)
собственно поэтому и тусовал эти кодировки, а чтобы закоментировать :shock:
на такую наглость я как то не решался... теперь вот думаю, а что если закоментарить #$conf{dbcharset} только с использованием UTF-8.. думаю стоит попробовать.....

PS: Попробовал - все окей! Господа, может поправите в доке у кого есть доступ к вики ? :wink:

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

Да нет не скучно, я просто больше UTF8 люблю и считаю что надо двигаться к этой кодировке
правильный подход - я тоже её юзаю даже в консоли... а как оно в базе кодируется мне плевать ;) а $conf{default_charset} наскоко я понимаю простио указывает кодировку для брузера

Ответить