Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Настройка кодировки MySQL
$connection->query("INSERT INTO profiles VALUES('Что-то', 'в кодировке', 'cp1251')");
if($connection->error)echo$connection->error;
$connection->close();
?>
Работаю в ZendServer. Скрипт упорно отказывается записывать в базу русские символы и выдаёт ошибку:
latin1 cp1251 Incorrect string value: '\xD7\xF2\xEE-\xF2\xEE' for column 'user' at row 1
Как видно, я поменял кодировку базы с latin1 по умолчанию на кириллицу cp1251, на всякий случай проверил, поменялась. Ещё я поменял кодировку по умолчанию в php.ini с UTF-8 на windows-1251. Но не взошло. Если оставить кодировку базы по умолчанию, скрипт работает, но кириллица пишется кракозяберно, если зайти в базу из-под командной строки и проверить записанное. В чём тут может быть проблема, подскажите, пожалста...
andrewkard
Отправлено: 11 Января, 2016 - 10:14:03
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
wf778899
Какова кодировка БД, таблицы и поля?
wf778899
Отправлено: 11 Января, 2016 - 10:19:16
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2015
Помог: 0 раз(а)
andrewkard пишет:
wf778899
Какова кодировка БД, таблицы и поля?
Эмм. В смысле? Я ж говорю - поменял на cp1251, по умолчанию была latin1. Или есть ещё какие-то настройки?
andrewkard
Отправлено: 11 Января, 2016 - 10:38:39
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
wf778899 пишет:
Я ж говорю - поменял на cp1251
Везде? Нужно и в базе данных, и в табличке и в самом поле. Кодировка файла со скриптом какая?
Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2015
Помог: 0 раз(а)
andrewkard пишет:
wf778899 пишет:
Я ж говорю - поменял на cp1251
Везде? Нужно и в базе данных, и в табличке и в самом поле. Кодировка файла со скриптом какая?
А, значит $connection->set_charset('cp1251') меняет кодировку только в базе? Кодировка скрипта ANSI->Кириллица->Windows1251 (пишу в Notepade++). А как выставить кодировку в таблице и в ячейке тогда? В пхп таких функций не нашёл..
andrewkard
Отправлено: 11 Января, 2016 - 10:57:33
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
wf778899 пишет:
меняет кодировку только в базе?
Задает набор символов по умолчанию, который будет использоваться при обмене данными с сервером баз данных. phpMyAdmin есть? С его помощью можно настроить. Либо как то так:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.