forum.bitel.ru http://forum.bitel.ru/ |
|
И снова кодировки http://forum.bitel.ru/viewtopic.php?f=40&t=11005 |
Страница 1 из 1 |
Автор: | dimOn [ 20 окт 2015, 14:36 ] |
Заголовок сообщения: | Re: И снова кодировки |
а в какой должно быть? почему? что значит поменял на utf8? как поменял? таблица пересоздавалась? если нет то как иначе? вопросы где? в бд тоже вопросы? причём тут указанная таблица, если табличка из gui совсем из другой? настройки кодировок все остальные нормальные? какие именно? з.ы. Пока это первая часть вопросов, чтобы хотя бы понять о чём речь. |
Автор: | skn [ 20 окт 2015, 14:37 ] |
Заголовок сообщения: | Re: И снова кодировки |
а с другими таблицами такой проблемы нет? а какая у них кодировка? |
Автор: | stark [ 20 окт 2015, 14:39 ] |
Заголовок сообщения: | Re: И снова кодировки |
все кодировки в студию. базы, сервера, db.url, других таблиц |
Автор: | skyb [ 22 окт 2015, 07:54 ] |
Заголовок сообщения: | Re: И снова кодировки |
Дело в том что, модуль ставился наверное ещё в версии 5.2, сейчас 6.2 Кодировка наверное побилась, но так как настройки уже есть и работают не хотелось бы заново настраивать, если можно как то безболезненно удалить и заново создать таблицы было бы хорошо. Проблема во всех таблицах этого модуля Код: SHOW CREATE database bgbilling bgbilling;CREATE DATABASE `bgbilling` /*!40100 DEFAULT CHARACTER SET utf8 */ Кодировка таблиц рентсофта без правки Код: SHOW CREATE TABLE rentsoft_product_25 rentsoft_product_25;CREATE TABLE `rentsoft_product_25` ( `id` int(11) NOT NULL AUTO_INCREMENT, `serviceKey` varchar(64) NOT NULL, `serviceName` varchar(64) NOT NULL, PRIMARY KEY (`id`), KEY `serviceKey` (`serviceName`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=cp1251 то что после правки Код: rentsoft_payment_25;CREATE TABLE `rentsoft_payment_25` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `txid` varchar(64) NOT NULL, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `cid` int(11) NOT NULL, `comment` varchar(255) NOT NULL, `amount` int(11) NOT NULL, `status` tinyint(5) NOT NULL, `product_id` int(11) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `txid` (`txid`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 во всех кодировках есть вопросы сервер Код: # locale LANG=ru_RU.utf8 LC_CTYPE="ru_RU.utf8" LC_NUMERIC="ru_RU.utf8" LC_TIME="ru_RU.utf8" LC_COLLATE="ru_RU.utf8" LC_MONETARY="ru_RU.utf8" LC_MESSAGES="ru_RU.utf8" LC_PAPER="ru_RU.utf8" LC_NAME="ru_RU.utf8" LC_ADDRESS="ru_RU.utf8" LC_TELEPHONE="ru_RU.utf8" LC_MEASUREMENT="ru_RU.utf8" LC_IDENTIFICATION="ru_RU.utf8" LC_ALL= Код: db.url=jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=cp1251
|
Автор: | stark [ 22 окт 2015, 12:51 ] |
Заголовок сообщения: | Re: И снова кодировки |
а кодировку базы менять ? если cp1251 осталась, то везде должна быть cp1251. Иначе новых помесячные таблицы будут создаваться в другой кодировке . А другие таблицы точно в cp1251 ? И еще после смены кодировки на таблице данные не поменяются . Создайте что-то новое проверьте, а старое так и останется вопросиками. |
Автор: | skyb [ 22 окт 2015, 14:36 ] |
Заголовок сообщения: | Re: И снова кодировки |
stark писал(а): а кодировку базы менять ? если cp1251 осталась, то везде должна быть cp1251. Иначе новых помесячные таблицы будут создаваться в другой кодировке . А другие таблицы точно в cp1251 ? в других таблицах вообще нет проблем, тоесть только с рентсофтом, который был очень давно проинстален а настроен только сейчас stark писал(а): И еще после смены кодировки на таблице данные не поменяются . Создайте что-то новое проверьте, а старое так и останется вопросиками. да, я менял кодировку и заново производил покупку конечно же, так и осталось вопросами |
Автор: | dimOn [ 22 окт 2015, 14:39 ] |
Заголовок сообщения: | Re: И снова кодировки |
если кол-во сообщений прибавляется, а всё становится только запутаннее, то я знаю чей это топик |
Автор: | Phricker [ 22 окт 2015, 14:54 ] |
Заголовок сообщения: | Re: И снова кодировки |
dimOn писал(а): если кол-во сообщений прибавляется, а всё становится только запутаннее, то я знаю чей это топик |
Автор: | stark [ 22 окт 2015, 15:17 ] |
Заголовок сообщения: | Re: И снова кодировки |
skyb писал(а): stark писал(а): а кодировку базы менять ? если cp1251 осталась, то везде должна быть cp1251. Иначе новых помесячные таблицы будут создаваться в другой кодировке . А другие таблицы точно в cp1251 ? в других таблицах вообще нет проблем, тоесть только с рентсофтом, который был очень давно проинстален а настроен только сейчас Т.е кодировка базы неверная , а в других таблицах ПОКА нет проблем ? или уже есть но о них не знают. |
Автор: | stark [ 22 окт 2015, 15:17 ] |
Заголовок сообщения: | Re: И снова кодировки |
предлагаю написать в helpdesk. |
Автор: | skyb [ 22 окт 2015, 17:08 ] |
Заголовок сообщения: | Re: И снова кодировки |
подскажите как безопасно грохнуть таблицы, чтоб создать правильные |
Автор: | dimOn [ 22 окт 2015, 18:36 ] |
Заголовок сообщения: | Re: И снова кодировки |
в таблице данные нормальные? или нет? если нормальные - то надо просто сделать конверт в другую кодировку и всё сконвертируется и будет счастье. если там уже вопросики, то данные уже потеряны, надо просто сделать очистку или создать заново или как угодно. просто непонятно в чём с этим проблемы, в чём задача на сей момент итд |
Автор: | skyb [ 22 окт 2015, 19:15 ] |
Заголовок сообщения: | Re: И снова кодировки |
dimOn писал(а): в таблице данные нормальные? или нет? если нормальные - то надо просто сделать конверт в другую кодировку и всё сконвертируется и будет счастье. если там уже вопросики, то данные уже потеряны, надо просто сделать очистку или создать заново или как угодно. просто непонятно в чём с этим проблемы, в чём задача на сей момент итд данные в таблице не важны, я бы вообще таблицу снес и заново создал бы, только не потерять бы настройки модуля. да, в таблице тоже вопросы вопрос заключается в том как удалять безпроблемно таблицы, дабы не перенастраивать модуль и создать их заново |
Автор: | stark [ 22 окт 2015, 19:23 ] |
Заголовок сообщения: | Re: И снова кодировки |
skyb писал(а): dimOn писал(а): в таблице данные нормальные? или нет? если нормальные - то надо просто сделать конверт в другую кодировку и всё сконвертируется и будет счастье. если там уже вопросики, то данные уже потеряны, надо просто сделать очистку или создать заново или как угодно. просто непонятно в чём с этим проблемы, в чём задача на сей момент итд данные в таблице не важны, я бы вообще таблицу снес и заново создал бы, только не потерять бы настройки модуля. да, в таблице тоже вопросы вопрос заключается в том как удалять безпроблемно таблицы, дабы не перенастраивать модуль и создать их заново Удалить можно вручную, если данные не нужны. Установка модуля через bg_installer.sh создаст таблицы. Если не поможет, то надо почистить кэш(как - написано в документации по установки обновлений) и снова запустить установку. |
Автор: | ok-2004 [ 30 окт 2015, 18:04 ] |
Заголовок сообщения: | Re: И снова кодировки |
Воспользовавшись идеями , заложенными в прекрасном скрипте, любезно предоставленным уважаемым dimOn наваял что-то типа этого: Код: echo "SET FOREIGN_KEY_CHECKS=0;" > /root/unicode.sql mysql -uroot -pxxxxxxxx -e "SHOW TABLES IN bgbilling;" | tail -n +2 | xargs -I '{}' echo -e "ALTER TABLE {} CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;\nSHOW WARNINGS;" >> /root/unicode.sql echo "SET FOREIGN_KEY_CHECKS=1;" >> /root/unicode.sql mysql -uroot -pxxxxxx -vvv bgbilling < /root/unicode.sql 2>&1 >> /root/unicode.log mysql -uroot -pxxxxxx -e "alter database bgbilling DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_unicode_ci;" и скормил мускулю,.. Потом немного погрустил, что все поля типа TEXT сменились на тип MEDIUMTEXT, но уж это - по доке... Но для модуля бухгалтерии xml-ки в таблице bill_data_x естественно остались в первозданном виде, т.к были типа mediumblob, да и "encoding=windows-1251" в начале не радовала. Пришлось исхитряться : Код: UPDATE bill_data_5 SET xml = REPLACE(xml, 'windows-1251', 'utf-8'); ALTER table bill_data_5 CHANGE xml xml mediumtext CHARACTER SET cp1251; ALTER TABLE bill_data_5 MODIFY xml mediumtext CHARACTER SET utf8; ALTER table bill_data_5 CHANGE xml xml mediumblob; Таперича вродь всё стало на свои места.. |
Автор: | skyb [ 03 ноя 2015, 11:24 ] |
Заголовок сообщения: | Re: И снова кодировки |
не, тут не кодировка бд была виновата |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |