Проблемы с кодировкой

GutsOut

Новичок
Здравсвуйте, имеется php-скрипт(кодировка utf8) котрый выполняется в командной строке, который должен писать в бд данные в кодировке utf8, используется PDO. Если это важно: при вводе данных с клавиатуры латиницей, mb_detect_encoding($some_value) показывает ASCII, кириллицей - UTF-8, т.е. в случае с кирилицией - все ок). Откуда взялась ASCII вообще не понятно. Но это не главный вопрос, главный вот в чем - при привязке и выполнении:
$sth -> bindParam('parameter', $some_value);
$sth->execute();
если значение $some_value - кириллица, то в бд попадает пустое значение (запись создаётся, но в полях таблице ничего нет).
если значение $some_value - латиницей, то все ок.
Помогите, пожалуйста.
 
Последнее редактирование:

GutsOut

Новичок
то, что mb_detect_encoding считает латиницу ASCII - это нормально, не переживай, всё будет работать.
бд у тебя в утф, но нужно сказать об этом PDO, сделай первым запрос SET NAMES utf8;
http://stackoverflow.com/questions/1650591/whether-to-use-set-names
Подключение устанавливаю таким образом:
$db_connection = new PDO("mysql:host=$host;dbname=$db_name", $user, $password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
Но ничего
 

hell0w0rd

Продвинутый новичок
Зачем вы все так делаете?
В dsn для mysql можно вписывать charset сразу, всегда и везде кроме старой версии 5.3.6
 
Сверху