Ответов: 6 Просмотров: 1150
|
Всем привет! Проблема у меня такая: пытаюсь из-под PHP записать в таблицу MySQL (Server Version 5.5.44) пару столбцов на русском языке, код ниже:
PHP:
скопировать код в буфер обмена
<?PHP $db_hostname = 'localhost'; $db_database = 'Skyrim'; $db_user = 'Engineer'; $db_password = 'qwerty'; $connection = new mysqli($db_hostname, $db_user, $db_password, $db_database); echo $connection->character_set_name()." "; $connection->set_charset('cp1251'); echo $connection->character_set_name()." "; $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. Но не взошло. Если оставить кодировку базы по умолчанию, скрипт работает, но кириллица пишется кракозяберно, если зайти в базу из-под командной строки и проверить записанное. В чём тут может быть проблема, подскажите, пожалста... |