Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как избавиться от mysql_query("SET NAMES utf8")?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Чечако
Отправлено: 19 Апреля, 2011 - 21:19:04
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Здравствуйте.

Есть база данных. По умолчанию все таблицы созданы в утф-8, плюс во всех возможных полях стоит утф8-юникод-си. Это подтверждается и командой SHOW VARIABLES LIKE "character_set_database";

На страницах в мета теге также стоит кодировка утф8.

Но при выводе данных из бд русский текст отображался ромбиками со знаком вопроса внутри. При этом если вручную поменятьв браузере кодировку с утф8 на кириллицу ср 1251 то кракозябры преображались в русский текст.

Основательно погуглив, нашел решение в виде mysql_query("SET NAMES utf8") перед каждым селектом из бд. Но там же нашел фразу, что это тормозит сервер и нужно избегать подобного.

Вопрос: нужно ли избавляться от mysql_query("SET NAMES utf8") и если да то как?
 
 Top
EuGen Администратор
Отправлено: 19 Апреля, 2011 - 21:38:49
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Не тормозит.
Для браузера высылайте заголовки посредством header и устанавливайте тег meta


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
HotBird
Отправлено: 19 Апреля, 2011 - 22:37:15
Post Id



Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010  


Помог: 2 раз(а)




Чечако пишет:
mysql_query("SET NAMES utf8") перед каждым селектом из бд.

Я делаю mysql_query("SET NAMES utf8") один раз в скрипте сразу после подключения к базе данных, и потом все последующие селекты проходят нормально.


-----
Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев.
Качественный хостинг по доступной цене
 
 Top
Чечако
Отправлено: 19 Апреля, 2011 - 23:29:54
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




HotBird пишет:
Я делаю mysql_query("SET NAMES utf8") один раз в скрипте сразу после подключения к базе данных, и потом все последующие селекты проходят нормально.


отличная идея, спасибо!
сделал также
 
 Top
incker
Отправлено: 21 Августа, 2012 - 19:15:26
Post Id


Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Чечако пишет:
HotBird пишет:
Я делаю mysql_query("SET NAMES utf8") один раз в скрипте сразу после подключения к базе данных, и потом все последующие селекты проходят нормально.


отличная идея, спасибо!
сделал также



Спасибо!!)))

только когда рылся как этим пользоваться, нашел что лучше так использовать

mysql_set_charset('utf8',$this->db);
 
 Top
DeepVarvar Супермодератор
Отправлено: 31 Января, 2013 - 05:33:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Чечако пишет:
Есть база данных. По умолчанию все таблицы созданы в утф-8, плюс во всех возможных полях стоит утф8-юникод-си. Это подтверждается и командой SHOW VARIABLES LIKE "character_set_database";

На страницах в мета теге также стоит кодировка утф8.
Отвечу сейчас, хоть тема и стара, но этого еще не сказали.

--------------

Да, избавиться можно, если сконфигурировать сам mysqld на то, чтобы по умолчанию кодировка данных возвращаемых этим демоном, была соответственно utf-8.
Вся загвоздка в том, что никакой сисадмин не будет крутить лично под вас настройки хостинга Закатив глазки
 
 Top
avtor.fox
Отправлено: 31 Января, 2013 - 07:08:28
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)





DeepVarvar, экий ты некротопофил Улыбка

(Отредактировано автором: 31 Января, 2013 - 07:19:55)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB