Запрос в базу через php, слетает кодировка

260
10 декабря 2016, 10:07

Есть запрос

SELECT * FROM `users` WHERE `realname` = '$customer' LIMIT 1

У меня в базе русские имена.

Если я через форму пытаюсь вписать ник и попытаться вывести - у меня слетает кодировка.

// Через форму вписываю параметр realname
$customer = $_POST['customer'];// приходит "ааы"

Но в таком случае, запрос выдаст 0 результатов...

А если я напрямую в файле напишу переменную, с значением: "ааы", и подставлю в запрос - результат будет.

Но вот какой прикол случается:

$customer = $_POST['customer'];// приходит "ааы"
$file_customer = 'ааы';

Если вывести переменную созданую напрямую в файле, выведет:

ааы // и если этот результат подставить в sql запрос - выведет результат.

Файл в кодировке utf8. База , и таблица в кодировке utf8. При открытии соединения ставлю

mysqli_set_charset($link, "utf8");

В чем может быть беда?...

Answer 1

На каждой странице я прописываю

<meta http-equiv="content-type" content="text/html; charset=utf-8"/>

Ну а когда подключаюсь к БД. в конфиге прописываю вот так

mysql_query("SET NAMES utf8"); 
mysql_query("SET CHARACTER SET utf8");

Answer 2

Дабы не мучаться, напишите в файле .htaccess (если файла нет, создайте) AddDefaultCharset UTF-8

Answer 3

Ответ таков, что из формы приходили данные в кодировке cp1251...

$customer = iconv("cp1251", "utf-8", $customer);
READ ALSO
Pubnub проблемы с PAM

Pubnub проблемы с PAM

Столкнулся с проблемой, что grant и revoke можно применить только через некоторое времяТ

190
Внешние ключи при миграциях symfony3

Внешние ключи при миграциях symfony3

Как добавить внешний ключ при миграциях? Используется DoctrineMigrationsBundle

171
логика кода на opencart 2

логика кода на opencart 2

не могу понять логику кода из opencart 2,

232
Несколько условий

Несколько условий

Привет! Ситуация в следующем, хочу сделать красиво условие а получается какой то говнокод)

299