Re: MySQL и utf8 в stored procedure
От: Nonmanual Worker  
Дата: 10.08.09 09:23
Оценка: 2 (1)
Здравствуйте, danclax, Вы писали:

D>Всем привет,


D>Столкнулся с такой проблемой. На первый взгляд избитая тема — символы вопросов в БД вместо русских букв. Но ситуация немного другая.

D>В БД использую utf8. Из PHP после подключения отправляю SET NAMES 'utf8'. На всякий случай вот:


D>
D>// Установка соединения
D>$link = mysqli_init();

D>if (!$link)
D>    die('Failed to init mysqli');

D>$res = @mysqli_real_connect($link, DB_HOST, DB_LOGIN, DB_PASS, DB_NAME);
D>if (!$res)
D>    die("Failed to connect to the mysql server: ".mysqli_connect_error());

D>if (!mysqli_query($link, "SET NAMES 'utf8'"))
D>    die("Can't execute query: ".mysqli_error($link));
D>


D>Все ок, из PHP отправляю запросы и русский текст в БД сохраняется корректно, а также с отображением на странице никаких проблем. На странице тоже кодировка utf8, и сами скрипты php сохранены как utf8 w/o BOM.


D>Когда я передаю в хранимую процедуру текст в качестве параметра, она пишет его в поле таблицы. И в этом случае:


D>

D>Что можно попробовать здесь? Хотелось бы без лишних наворотов, попроще.


Тип параметра хранимой процедуры???
У вас скорее всего
IN p1 VARCHAR(x)
поменяйте на
IN p1 VARCHAR(x) character set utf8
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.