$connection = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
function queryMysql($query)
{
global $connection;
$result = $connection->query($query);
mysql_set_charset("CP1251");
if (!$result) die($connection->error);
return $result;
}
$query = "INSERT INTO `u0163707_megg`.`users` (
`user_id`, `user_status`, `user_email`, `user_pass`, `user_name`, `user_surname`, `user_avatar`)
VALUES (NULL, '2', '$email', '$pass', '$name', '$surname', '/front/img/users/user.png');";
queryMysql($query);
print_r($query);
добавляю записи в бд через ajax. При добавлении запись все русские буквы превращаются в Ðиколай
. Кодировка БД utf8_general_ci, как и кодировка всех столбцов, кодировка файла utf8
вывод в консоль запроса выводит:
INSERT INTO 'users'
( 'user_id', 'user_status', 'user_email', 'user_pass', 'user_name', 'user_surname', 'user_avatar')
VALUES
(NULL, '2', 'derzik2010@mail.ru', 'e10adc3949ba59abbe56e057f20f883e', 'Николай', 'Федоров', ' /front/img/users/user.png');
1) Нужно создать таблицу с кодировкой UTF-8:
CREATE TABLE users (...) CHARACTER SET utf8 COLLATE utf8_general_ci;
2) Нужно в начале установить кодировку соединения через:
$connection->query("set names utf8");
Вам надо сообщить серверу в какой кодировке работает ваше клиентское приложение. Эта кодировка теоретически может отличаться от кодировки данных в базе, сервер БД сам умеет менять кодировку "на лету".
Если вы используете расширение mysqli, а кодировка веб-страниц UTF-8, то это делается так:
mysqli_set_charset($link, "utf8");
Обратите внимание на отсутствие дефиса между utf и 8 :) А если вдруг ваша веб-страница работает в windows-1251, то делайте так
mysqli_set_charset($link, "cp1251");
Команду надо выполнить один раз сразу после соединения с базой.
Я заметил в вашем коде использование mysql_set_charset (без "i") каждый раз после выполнением запроса — это ошибка, оно не работает и не должно.
Если у вас кодировка UTF-8, то зачем же вы устанавливаете её CP1251?
Вы написали, что отправляете запрос через ajax
Возможно проблема как раз в ajax, попробуйте явно указать scriptCharset: "utf-8"
(предполагаю что у вас jquery), а также проверьте кодировку js-файла скрипта и кодировку html-страницы вызывающего данный скрипт
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В общем я пытаюсь сгенерировать ексель файл с именами из базы данныхУ меня получилось распечатать и создать листы с каждой буквой алфавита
Есть таблица с полями id, name, hitВ ней 100 записей
Здравствуйте, девелоперы! На опенкарт, дописываю свой модуль, делаю ручное управление цен, по этому дописовал и переписывал валюту, но калькулятор,...