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 :: Проблема с кодировкой

 PHP.SU

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


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

> Описание: Вывод заголовка записи из Базы данных вместо русских букв отображаются вопросы
vanicon
Отправлено: 08 Декабря, 2010 - 00:12:59
Post Id



Частый посетитель


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


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




Я вывожу sql запросом из базы данных и вместо русских букв отображаются знаки вопроса, кодировка БД в utf-8 в БД все написано русскими буквами (Без закорючек), кодировка файла utf-8
Вот сам запрос:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. define('DB_PASSWORD', '5326');
  4. define('DB_USER', 'root');
  5. mysql_connect('localhost', DB_USER, DB_PASSWORD);
  6. mysql_select_DB("news") or die("Ошибка подключения к базе данных...".mysql_error());
  7.              
  8. $sqlpost = mysql_query("
  9.   SELECT DISTINCT p.guid, p.post_content, p.post_title, p.post_date
  10.   FROM wp_term_taxonomy tx, wp_term_relationships tr, wp_terms tp, wp_posts p
  11.   WHERE tx.taxonomy='category' AND tx.term_id IN ('3') AND tx.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id = p.ID AND p.post_status = 'publish' AND p.post_type = 'post' ORDER BY p.post_date DESC LIMIT 1");
  12.  
  13.           while ($post = mysql_fetch_array($sqlpost, MYSQL_BOTH)) {
  14.         $title = $post["post_title"];
  15.         $href = $post["guid"];
  16.        preg_match('/src\="(.+?)"/i', $post["post_content"], $img);
  17.       $tit =  "<img src=$img[1] width=70 height=54 /> <p><a href=$href>$title</a></p>";
  18.       echo $tit;
  19.     }
  20.     mysql_free_result($sqlpost);
  21.    
  22.  
  23.  
  24.  


-----
Так было, так есть и так будет
 
 Top
Slavenin
Отправлено: 08 Декабря, 2010 - 07:00:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


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




сам недавно боролся с такой проблемой http://forum.php.su/topic.php?fo...8&topic=2014 , если запрос к скрипту шлется через ajax, то на всех страницах должен быть прописан заголовок
PHP:
скопировать код в буфер обмена
  1. header('Content-Type: text/html; charset=utf-8');
иначе ИЕ откажется выводить результаты работы
 
 Top
vanicon
Отправлено: 08 Декабря, 2010 - 19:27:23
Post Id



Частый посетитель


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


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




Спасибо за ссылку Slavenin на Вашу проблема она помогла мне решить и мою, заголовок header не помог но вот mysql_query('SET NAMES utf8') or die(mysql_error()); исправил все на русские символы.


-----
Так было, так есть и так будет
 
 Top
vanicon
Отправлено: 11 Января, 2011 - 15:49:04
Post Id



Частый посетитель


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


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




Поставил небольшой скрипт на сервер, сервер нормальный все необходимы модули включены. И та же самая проблема с кодировкой место русских букв отображается знаки вопроса, и причем это связанно с запросами в БД так как только они отображаются в таких символах базы в utf-8, пробовал указать перед запросом кодировку: mysql_set_charset('utf-8');. И тогда вопросы пропадают но некоторые запросы к базе просто перестают работать, если уберу строчку с указанием кодировки то работает, в чем может быть моя ошибка?


-----
Так было, так есть и так будет
 
 Top
JustUserR
Отправлено: 12 Января, 2011 - 14:58:54
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




vanicon пишет:
И тогда вопросы пропадают но некоторые запросы к базе просто перестают работать, если уберу строчку с указанием кодировки то работает, в чем может быть моя ошибка?
Использование элементов региональных кодовой таблиц в процессе взаимодейтсвия с БД предполашает необходимость указания требуемого уровня трактования как всех компонентов - таких как SQL-запросы и ответы от сервера а также вложенные строковые константы и информационные поля - в качестве возможного варианта решения задачи допустима как установка корректных значений кодовой таблицы для всех объектов взаимодействия с БД - так и представление передаваемых строковых данных в виде экранированных управляющих последовательностей


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 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