vandy
Новичок
Проблема с кодировкой в хранимых процедурах
Проблема стандартная:
Я, используя веб-интерфейс, пытаюсь сохранить в MySql русские слова, но сохраняются только "???????????????".
Подробнее.
У меня есть хостинг с установленным на нем MySQL 5.0.19-nt-log.
Так же я использую PHP 5.
В phpmyadmin я настроил базу на работу с cp1251_general_ci.
Так же у каждой таблицы и у каждого поля я тоже тоже постивил cp1251_general_ci.
Плюс к этому при коннекте также выставляю
mysql_query ("SET NAMES cp1251");
mysql_query ("SET CHARACTER SET cp1251");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
Но у меня все равно показывает ????????.
После некоторых экспериментов выяснилось, что виноваты в этотом
mysql-процедуры, которые я использую для удобства записи данных в
базы.
Так вот.
Если использовать обычный insert из пхп, то русские буквы нормально
сохраняются.
А если сначала передавать данные в mysql-процедуры, а потом вставлять в таблицы, то русские буквы превращаются в ??????.
Я пробовал и в процедуре перед insert выставлять
SET NAMES cp1251;
SET CHARACTER SET cp1251;
SET character_set_client = cp1251;
SET character_set_results= cp1251;
SET collation_connection = cp1251_general_ci;
Но это так же не помогло.
Может кто сталкивался с таким и нашел способ решения.
Проблема стандартная:
Я, используя веб-интерфейс, пытаюсь сохранить в MySql русские слова, но сохраняются только "???????????????".
Подробнее.
У меня есть хостинг с установленным на нем MySQL 5.0.19-nt-log.
Так же я использую PHP 5.
В phpmyadmin я настроил базу на работу с cp1251_general_ci.
Так же у каждой таблицы и у каждого поля я тоже тоже постивил cp1251_general_ci.
Плюс к этому при коннекте также выставляю
mysql_query ("SET NAMES cp1251");
mysql_query ("SET CHARACTER SET cp1251");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
Но у меня все равно показывает ????????.
После некоторых экспериментов выяснилось, что виноваты в этотом
mysql-процедуры, которые я использую для удобства записи данных в
базы.
Так вот.
Если использовать обычный insert из пхп, то русские буквы нормально
сохраняются.
А если сначала передавать данные в mysql-процедуры, а потом вставлять в таблицы, то русские буквы превращаются в ??????.
Я пробовал и в процедуре перед insert выставлять
SET NAMES cp1251;
SET CHARACTER SET cp1251;
SET character_set_client = cp1251;
SET character_set_results= cp1251;
SET collation_connection = cp1251_general_ci;
Но это так же не помогло.
Может кто сталкивался с таким и нашел способ решения.