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 :: Проблема с выводом в utf-8 из my sql

 PHP.SU

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


 Страниц (4): [1] 2 3 4 »   

> Без описания
albertinisuel
Отправлено: 08 Апреля, 2011 - 12:02:27
Post Id


Новичок


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


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




Здравствуйте. Я только начал изучать php с помощью небезызвестного видео курса Евгения Попова. php+mysql и т.д. устанавливал с его дисков. По косвенным признакам - очень похож на Денвер. Переустанавливать mysql и прочие серверы я не умею.

А теперь перейдём к сути.
Есть таблица, которую я создал через phpmyadmin.
Есть страница mysql.php, которую я создал в дримвиевере цс3.
Страница должна выводить слово из таблицы.

Вот код страницы (сценария php):
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Соединяемся с БД</title>
  7. </head>
  8. <body>
  9. <?php
  10.  
  11. $db = mysql_connect("localhost","alex","12345"); /* Подключение к mysql  */
  12.  
  13. mysql_query ("set character_set_client='utf8'");
  14. mysql_query ("set character_set_results='utf8'");
  15.  
  16. mysql_query('SET CHARACTER SET utf8');
  17. mysql_query('SET NAMES utf8');
  18.  
  19.  
  20.  
  21. echo "Присвоенныей идентификатор - <b>".$db."</b><br>";
  22.  
  23. mysql_select_db("firstbd", $db); /* Выбор Базы данных  */
  24. $result = mysql_query("SELECT * FROM  firma", $db);  /* Выборка (SELECT) всех ячеек (*) из (FROM) таблицы (firma - название таблицы)  */
  25. $myrow = mysql_fetch_array($result); /* Эта функция вытаскивает первую запись как массив*/
  26.  
  27.  
  28.  
  29. echo "<br>Какие-то непонятные данные для HTTP_ACCEPT_ENCODING:<b> ".$_SERVER['HTTP_ACCEPT_ENCODING']."</b><br>";
  30. echo "<br>Какие-то непонятные данные для HTTP_ACCEPT_CHARSET:<b> " .$_SERVER['HTTP_ACCEPT_CHARSET']."</b><br>";
  31. echo "<br>Какие-то непонятные данные для HTTP_ACCEPT_CHARSET:<b>  ".$_SERVER['HTTP_ACCEPT_LANGUAGE']."</b><br>";
  32.  
  33.  
  34. echo "А вот здесь должна быть выборка из БД mysql:".$myrow["name"]."<br>";
  35.  
  36.  
  37. ?>
  38. </body>
  39. </html>
  40.  


кроме того, у меня в директории с этой страницей лежит файл (его мне передала служба технической поддержки) .htaccess , код которого:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. AddDefaultCharset utf-8
  3. AddCharset utf-8 *
  4. <IfModule mod_charset.c>
  5. CharsetSourceEnc utf-8
  6. CharsetDefault utf-8
  7. </IfModule>
  8.  

Вопрос: Что у меня не правильно, и что сделать чтобы тест выводился правильно ?


На картинке экран.
Прикреплено изображение (Нажмите для увеличения)
про-кодировки.jpg

(Отредактировано автором: 08 Апреля, 2011 - 12:11:17)

 
 Top
Fobius
Отправлено: 08 Апреля, 2011 - 12:09:44
Post Id


Гость


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


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




в начале страницы напиши хедер
header('Content-type: text/html; charset=UTF-8');

В самой БД в таблицах кодировки правильные стоят?
Сами файлы php перекодированы в UTF-8 without BOM?
 
 Top
albertinisuel
Отправлено: 08 Апреля, 2011 - 12:19:28
Post Id


Новичок


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


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




Цитата:

в начале страницы напиши хедер
header('Content-type: text/html; charset=UTF-8');


Куда именно прописывать ? - прописал перед доктайпом - этот код просто вывелся в начало страницы.

Цитата:
В самой БД в таблицах кодировки правильные стоят?

Я не знаю как это посмотреть.

Цитата:
Сами файлы php перекодированы в UTF-8 without BOM?

В Notepad++ выбрано "Кодировать без BOM"
 
 Top
Fobius
Отправлено: 08 Апреля, 2011 - 12:31:45
Post Id


Гость


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


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




Хедер - на ПХП...
в твоем варианте в начале страници
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header('Content-type: text/html; charset=UTF-8');
  3. php?>


Зайди в СУБД свою и посмотри кодировки таблиц и полей....

(Отредактировано автором: 08 Апреля, 2011 - 12:37:51)

 
 Top
albertinisuel
Отправлено: 08 Апреля, 2011 - 12:37:01
Post Id


Новичок


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


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




У меня <?PHP начинается на 12-й строке.
Вставил предложенный код.
Вопросики не ичзесли, но браузер вывел:
Warning: Cannot modify header information - headers already sent by (output started at x:\home\localhost\www\php\mysql.php:12) in x:\home\localhost\www\php\mysql.php on line 13






Fobius пишет:
Зайди в СУБД свою и посмотри кодировки таблиц і полей....

Как это сделать ? Я ввожу localhost/phpmyadmin ....дальше что ?
 
 Top
albertinisuel
Отправлено: 08 Апреля, 2011 - 12:44:09
Post Id


Новичок


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


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




То, что на картинке, Вам о чём-нибудь говорит ?
Прикреплено изображение (Нажмите для увеличения)
кодировки2.jpg
 
 Top
Fobius
Отправлено: 08 Апреля, 2011 - 12:44:20
Post Id


Гость


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


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




Читай про хедер
http://www.php.su/functions/?header

albertinisuel пишет:

Fobius пишет:
Зайди в СУБД свою и посмотри кодировки таблиц і полей....

Как это сделать ? Я ввожу localhost/phpmyadmin ....дальше что ?


Если у тебя похоже на денвер, то:
http://localhost/tools/phpmyadmin/index.php
Там войди в свою базу, в структуры таблици и смотри collation
 
 Top
Andruxa
Отправлено: 08 Апреля, 2011 - 12:45:28
Post Id



Частый гость


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


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




Колонка "Сравнение" там тоже все должно быть в utf
Прикреплено изображение (Нажмите для увеличения)
сравнение.jpg
 
 Top
Fobius
Отправлено: 08 Апреля, 2011 - 12:45:41
Post Id


Гость


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


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




albertinisuel пишет:
То, что на картинке, Вам о чём-нибудь говорит ?

Говорит о том, что первоначально проблема в том, что неуказан хедер...
 
 Top
albertinisuel
Отправлено: 08 Апреля, 2011 - 12:55:48
Post Id


Новичок


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


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




Цитата:
Если у тебя похоже на денвер, то:
http://localhost/tools/phpmyadmin/index.php
Там войди в свою базу, в структуры таблици и смотри collation


Пути http://localhost/tools/phpmyadmin/index.php у меня нету. У меня :X:\home\localhost\www\phpmyadmin и никого index там тоже нету.

Колонки "Сравнение" я тоже не вижу.
Вот взгляните пожалуйста...
Прикреплено изображение (Нажмите для увеличения)
кодировки3.jpg
 
 Top
Andruxa
Отправлено: 08 Апреля, 2011 - 12:58:48
Post Id



Частый гость


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


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




Покажите вкладку SQL

Попробой подправить
PHP:
скопировать код в буфер обмена
  1. mysql_query ("set character_set_client='utf-8'");
  2. и т.д....

Т.е utf-8, это у тебя по разному в скрипте написано

(Отредактировано автором: 08 Апреля, 2011 - 13:04:15)

 
 Top
albertinisuel
Отправлено: 08 Апреля, 2011 - 13:07:06
Post Id


Новичок


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


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




Цитата:
Т.е utf-8, это у тебя по разному в скрипте написано

Разницу я не понял. В любом случае скопировал Ваш код, но это ничего не изменило. Вопросики остались.

Вкладка sql на картинке.
Прикреплено изображение (Нажмите для увеличения)
кодировка-вкладка-sql.jpg
 
 Top
Fobius
Отправлено: 08 Апреля, 2011 - 13:07:26
Post Id


Гость


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


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




таки да, utf-8 будет правильнее чем utf8

Открой структуру таблици firms
 
 Top
Andruxa
Отправлено: 08 Апреля, 2011 - 13:11:44
Post Id



Частый гость


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


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




albertinisuel пишет:
Разницу я не понял. В любом случае скопировал Ваш код, но это ничего не изменило. Вопросики остались.

Т.е нужно заменить где встречается в скрипте utf8 на utf-8
 
 Top
albertinisuel
Отправлено: 08 Апреля, 2011 - 13:12:26
Post Id


Новичок


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


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




Сейчас код

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. mysql_query ("set character_set_client='utf-8'");
  3. mysql_query ("set character_set_results='utf-8'");
  4.  
  5. mysql_query('SET CHARACTER SET utf-8');
  6. mysql_query('SET NAMES utf-8');
  7.  
  8.  


структура таблицы на картинке. Там нет колонки "Сравнение".
(Добавление)
Заменил везде где только можно.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. header('Content-type: text/html; charset=UTF-8');
  4.  
  5.  
  6. $db = mysql_connect("localhost","alex","12345"); /* Подключение к mysql  */
  7.  
  8. mysql_query ("set character_set_client='utf-8'");
  9. mysql_query ("set character_set_results='utf-8'");
  10.  
  11. mysql_query('SET CHARACTER SET utf-8');
  12. mysql_query('SET NAMES utf8');
  13.  
  14.  

+ в <head>
(Добавление)
доправил...


Прикреплено изображение (Нажмите для увеличения)
кодировки4_стркутуратабмлиц.jpg
 
 Top
Страниц (4): [1] 2 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB