Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Кодировка вывода из Mysql


Автор: Rusman 7.10.2010, 07:22
Здравствуйте! Вообщем купил зарубежный хостинг, перенес все свои сайты с нашего российского. И на всех сайтах вывод из БД стал в виде "??????????????????"
Решил проблему добавлением:
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");

Но это нежелательно добавлять в каждый сайт. можно ли как то решить эту проблему по другому?

Автор: enoff 7.10.2010, 08:05
Еще нежелательнее будет перекодировать все данные в базе и все файлы в utf-8. А тем более, если на сервере по умолчанию не юникод, а кодировка, в которой нет кириллицы, переводить весь сайт на английский.

Обычно код подключения к базе данных находится в одном месте (где и нужно прописать запрос на установку кодировок), а само подключение осуществляется подключением файла, вызовом функции и т.д.

Автор: ayax2005 7.10.2010, 13:11
Попробуйте добавить эту строчку после подключения к базе

Код

@mysql_query("set names utf8",$dbconnect);

Автор: enoff 7.10.2010, 13:26
ayax2005, 
Код

mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");

судя по этому, все данные у тс в cp1251, вы хотите разнообразить вопросики квадратиками, ромбиками и непонятными буковками?

Автор: ayax2005 7.10.2010, 14:25
enoff, не доглядел кодировку)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)