|
|
|
|
|
для: ZuArt
(07.02.2007 в 11:17)
| | Спасибо Уважаемые за помощь!!! Я учту ваши замечания.
Сколько с mySQL работаю ни разу не попадал на эти грабли. ;-) | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(07.02.2007 в 11:15)
| | поздравляю ;)
что и требовалось доказать, что скрипт работает с кодировкой utf8, а база в win1251...
Стоит пересмотреть все таблицы и их текстовые поля, в противном случае можете опять на грабли наступить ;) | |
|
|
|
|
|
|
|
для: ZuArt
(07.02.2007 в 11:08)
| | решение простое получилось!! Я в таблице поменял кодировку сравнения на utf8_general_ci у полей текстового типа и все заработало и стало отображаться!!! | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(07.02.2007 в 11:04)
| | Базу лучше перезалить =) - это и проще и надежнее в нужной кодировке... Только не соображу, в какой она сейчас залита? | |
|
|
|
|
|
|
|
для: ZuArt
(07.02.2007 в 10:41)
| | хорошо, попробую.
Я так понимаю ниже указанные переменные character set client и character set results можно изменить программно? Или проще базу перелить в кодировке utf8 ?
character set client utf8
(Глобальное значение) cp1251
character set connection cp1251
character set database cp1251
character set results utf8
(Глобальное значение) cp1251 | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(07.02.2007 в 10:38)
| | нзчт... но импортнуть бд в другой кодировке все-таки попробуйте =) не может быть такого, что на серваке хостера стоит версия мускула, в которой ВСЕ не пашет =))) | |
|
|
|
|
|
|
|
для: Trianon
(07.02.2007 в 10:30)
| | Ребята, я нашел решение проблемы
ошибки 1267 из документации mySQL, она возникает на серверах mySQL от 4.1.2 до 4.1.7 включительно из-за неправильной интерпретации некоторых символов. Нужно юзать Мускул версией выше. Причем этот сервер MySQL имеет версию 4.1.7 к сожалению. А остальные, где нет ошибки, имеют версию выше. Вот и все.
Всем спасибо за участие!! Очень помогли!! | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(07.02.2007 в 10:25)
| | А это уже следствие криво проимпортированной базы данных (либо некорректно настроенного соединения с сервером).
Кодировка запроса у Вас не совпадает с кодировкой данных в таблицах. Как следствие, не совпадают алгоритмы сопоставления строк и сервер ругается, что ему не понять, как сравнивать строки в запросе со строками в таблице. | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(07.02.2007 в 10:25)
| | Похоже, что скрипт у Вас работает в кодировке win1251 , а дамп залит в кодировке utf8 - вот отсюда и растут ноги...
попробуйте перезалить дамп, только выберите в MyAdmin кодировку cp1251_general_ci - возможно она там фигурирует как русская Windows или Windows Cyrilic | |
|
|
|
|
|
|
|
для: ZuArt
(07.02.2007 в 10:06)
| | Получается вот этот запрос выполняется хорошо
SELECT * FROM catalog WHERE hidezapis=0 ORDER BY `artikul` ASC
вот этот запрос выполняется с ошибкой
SELECT * FROM catalog WHERE id <9000 AND category = 'category3' AND under_category = '11'
AND hidezapis =0 ORDER BY `artikul` ASC LIMIT 0 , 30
Ответ MySQL:
#1267 - Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (utf8_unicode_ci,COERCIBLE) for operation '='
Вот этот запрос исполняется также с той же ошибкой
SELECT * FROM catalog WHERE id<9000 AND category='category3' AND hidezapis=0 ORDER BY `artikul` ASC | |
|
|
|
|