Опять =) Кодировка

Статус
В этой теме нельзя размещать новые ответы.

Muntik

Постоялец
Регистрация
3 Июн 2008
Сообщения
491
Реакции
113
Инсталю на серв скрипт
На серве UTF-8 Unicode (utf8)
Кодировка сайта (ср1251)
Создаю базу (cp1251)
Сравнение (1251)

и при попытке что-то изменить сделать (на сайте или в админке) или все это класическими ?????? ?? ?? или вот такое послание :

PHP:
A Mysql error has occurred while running the script: 
The query you are trying to run is invalid
Mysql Error Output: Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
SQL Query: SELECT count(*) AS is_duplicate FROM probid_users WHERE username='бугага'
 
Уж точно "бугага". Прозреваю, что у тебя таблица/поле в латин_шведиш. Посмотри таблицу(probid_users) и поле(username), какой у них collation стоит.
Да, надеюсь самый первый запрос к субд - SET NAMES 'cp1251' ?
 
Для работы с другой кодировкой (например win/cp1251) нужно после соединения и перед первым запросом в базу давать следующие команды:
SET NAMES CP1251
SET COLLATION_CONNECTION=CP1251_GENERAL_CI

Для использования koi8-r команды выглядят так:
SET NAMES KOI8R
SET COLLATION_CONNECTION=KOI8R_GENERAL_CI
 
Либо есть альтернатива в корень сайта положить .htaccess
и в нем пописать дефолтную кодировку, делается это так
AddDefaultCharset UTF-8

либо если тебе нужно Windows-1251 что скорее всего, как я понял пропиши:

AddDefaultCharset WINDOWS-1251

Если помогло, то не откажусь от СПАСИБО ;-)
 
Всем спасибо с проблемой справился сам ))
 
знакомая песня.
дб целая (посмотри через нотепад) ?
на форуме русские буквы видны как вопросики?
Значит открывай файл отвечающий за настройки мскйул.
my.ini

[mysqld]
default-character-set = cp1251
init-connect = "set names cp1251"
skip-character-set-client-handshake

[client]
default-character-set = cp1251

и сохрани, рестарт серверу и будет тебе счастье. ;)
 
знакомая песня.
дб целая (посмотри через нотепад) ?
на форуме русские буквы видны как вопросики?
Значит открывай файл отвечающий за настройки мскйул.
my.ini

[mysqld]
default-character-set = cp1251
init-connect = "set names cp1251"
skip-character-set-client-handshake

[client]
default-character-set = cp1251

и сохрани, рестарт серверу и будет тебе счастье. ;)
так ты изменишь кодировки для всех баз мускуля
на робочем сервере...не самый правильный способ
 
У меня была похожая проблема, на сервере латин_сведиш, инсталируемый форум в UTF8. При конвертации базы одни краказябы.
Пришлось делать дамп БД, локально ее переконвертировать в UTF8 посредством проги RJ TextEd и потом заливал обратно.
Мне помогло, возможно и Вам поможет ;)
 
Вопрос

Такая проблема. В Денвере у меня Кодировка по умолчанию, сопоставление подключения и сама база в cp1251. Перенесли на другой комп. У чувака всё стоит отдельно. Но кодировка и сопоставление по умолчанию utf8. Пробовали менять настройки в my.ini - не помогает. Хелп
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху