Задавайте вопросы, мы ответим
Вы не зашли.
Добавляю данные в таблицу. Данные не добавляются, ошибка:
ERROR 1366: Incorrect string value: '\xD1\x84' for column 'Name' at row 1
SQL Statement:
UPDATE `dbprof`.`communication` SET `Name`='ф' WHERE `idCommunication`='1'
Я предположил, что проблема с кодировкой. Пробовал менять на utf8 и на cp1251 (set global character_set_database=utf8). Без успешно.
Может нужно в каком-то файле прописать либо еще что-нибудь?
Неактивен
Проблема не в кодировке базы, а в кодировке соединения. После
соединения нужно выполнять команду SET NAMES utf8 (ну или cp1251,
если данные в cp1251).
Неактивен
перед добавлением данных я пробовал это делать, ничего не поменялось
Отредактированно gloommy (10.01.2011 17:23:07)
Неактивен
Тогда убедитесь, что таблица communication создана не в latin1
(SHOW CREATE TABLE communication).
Неактивен
Это конечно возможно.
Как поменять если создано с latin1, обязательно заново создавать или нет?
я сделал так, но это не помогло...
alter table communication default charset=utf8;
может ребутить что надо
Отредактированно gloommy (10.01.2011 18:05:47)
Неактивен
Эта команда указывает кодировку, которая будет использоваться, сели при создании строкового столбца вы не укажите явно.
По вашей проблеме см:
http://sqlinfo.ru/articles/info/5.html
Неактивен
Если данных нету — можно преобразовать командой
ALTER TABLE communication CONVERT TO CHARSET utf8;
Если данные есть, то преобразование убьет все символы, не входящие
в исходную кодировку (например, русские буквы, если изначальная ко-
дировка таблицы latin1).
Неактивен