forum.bitel.ru http://forum.bitel.ru/ |
|
[6.1+] Не работает поиск по названию тарифа http://forum.bitel.ru/viewtopic.php?f=22&t=11385 |
Страница 1 из 1 |
Автор: | Phricker [ 27 фев 2016, 03:59 ] |
Заголовок сообщения: | [6.1+] Не работает поиск по названию тарифа |
Собственно сабж. Не ищет в том случае если вбиваешь в поиск русские символы. Пробовал на 6.1 и тест 6.2 Код: [root@test62 ~]# cat /etc/my.cnf | grep utf8 character-set-server=utf8 collation-server=utf8_unicode_ci Код: [root@test62 data]# cat ./data.properties | grep db.url db.url=jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=UTF-8&allowUrlInLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true&useCursorFetch=true&queryTimeoutKillsConnection=true&connectTimeout=1000 В дебаг логе выглядит как то так Код: http://10.0.6.152:8080/bgbilling/executer?BGBillingSecret=bldKF1hltExrdvEWLLuSdQ4o&labelIds=&showUsed=2&contractCount=true&pageIndex=1&module=tariff&action=ListTariffPlans&pageSize=999&titleMask=%D0%BF%D0%BE%D0%B4%D0%BD%D0%B5%D0%B2%D0%BD%D0%BE%D0%B9&moduleId=&
|
Автор: | Phricker [ 27 фев 2016, 03:59 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
До перевода 6.1 на UTF8 - поиск работал. |
Автор: | skn [ 27 фев 2016, 05:11 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
а что выдает Код: show create table tariff_plan
|
Автор: | zavndw [ 27 фев 2016, 05:24 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
Код: mysql> show create table tariff_plan; +-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tariff_plan | CREATE TABLE tariff_plan ( id int(11) NOT NULL AUTO_INCREMENT, title varchar(200) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', title_web varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, lm datetime NOT NULL DEFAULT '0000-00-00 00:00:00', actual int(11) NOT NULL DEFAULT '0', gr bigint(20) NOT NULL, pattern varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, face tinyint(4) DEFAULT NULL, tree_id int(11) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1051 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | +-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> Вот, он в группе уже Димона дапрашивал:) |
Автор: | Phricker [ 27 фев 2016, 12:48 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
Добавлю, что и на тесте и на 6.1 одинаковый вывод. |
Автор: | dimOn [ 27 фев 2016, 13:28 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
из sql-редактора клиента(!): show create database ... show variables like "%char%" show variables like "%colla%" что-то я в data.properties про collation не вижу, а вот здесь написано что надо http://docs.bitel.ru/pages/viewpage.act ... Id=1605652 |
Автор: | skn [ 27 фев 2016, 13:47 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
выкладывается обновление для 6.2, попробуйте |
Автор: | skn [ 27 фев 2016, 13:50 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
там проблема с REGEXP... дока по mysql говорит что REGEXP с многобайтовыми кодировками может работать не корректно Цитата: Warning
The REGEXP and RLIKE operators work in byte-wise fashion, so they are not multibyte safe and may produce unexpected results with multibyte character sets. In addition, these operators compare characters by their byte values and accented characters may not compare as equal even if a given collation treats them as equal. |
Автор: | Phricker [ 27 фев 2016, 14:00 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
dimOn писал(а): из sql-редактора клиента(!): show create database ... show variables like "%char%" show variables like "%colla%" На тесте. Код: bgbilling CREATE DATABASE `bgbilling` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */ Код: character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results character_set_server utf8 character_set_system utf8 character_sets_dir /usr/share/percona-server/charsets/ Код: collation_connection utf8_general_ci collation_database utf8_unicode_ci collation_server utf8_unicode_ci На рабочем отличается. Рабочий еще с версии 4.6 Код: bgbilling CREATE DATABASE `bgbilling` /*!40100 DEFAULT CHARACTER SET cp1251 */ Код: character_set_client utf8 character_set_connection utf8 character_set_database cp1251 character_set_filesystem binary character_set_results character_set_server utf8 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/ Код: collation_connection utf8_unicode_ci collation_database cp1251_general_ci collation_server utf8_unicode_ci Мне не нравится про collation_database и character_set_database. Необходимо изменить? На рабочем в data.properties задано Код: /bgbilling?useUnicode=true&characterEncoding=UTF-8&connectionCollation=utf8_unicode_ci&allowUrlInLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true&useCursorFetch=true&queryTimeoutKillsConnection=true&connectTimeout=1000 Тестовый 6.2 как скачан с сайта, так и работает ![]() |
Автор: | Phricker [ 27 фев 2016, 14:41 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
skn писал(а): выкладывается обновление для 6.2, попробуйте На 6.2 тестовом заработал поиск, при этом не меняя ничего с кодировками (представлены в предыдущем сообщении). Вопрос с collation_database и character_set_database все же открыт. |
Автор: | Phricker [ 27 фев 2016, 15:44 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
Код: ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
|
Автор: | dimOn [ 27 фев 2016, 21:47 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
я запутался на каком чо прописано в какой версии биллинга и что в какой не работает, но могу сказать что: connectionCollation=utf8_unicode_ci должно быть обязательно, иначе будут проблемы с коллейшенами в некоторых местах (поэтому там и collation_connection utf8_general_ci некорректный) и DEFAULT CHARACTER SET на базе тоже должно быть обязательно корректным, иначе будут проблемы например с временными таблицами. |
Автор: | Phricker [ 27 фев 2016, 23:29 ] |
Заголовок сообщения: | Re: [6.1+] Не работает поиск по названию тарифа |
Заработало в 6.2 после Цитата: 1023 27.02.2016 12:45:58 ИСПРАВЛЕНО Kernel: Поиск тарифных планов по названию (кодировка utf-8) Кодировку изменил Код: ALTER DATABASE bgbilling CHARACTER SET utf8 COLLATE utf8_unicode_ci; Благодарю за помощь ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |