Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2012, 01:28   #1
cyclobe
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 51
По умолчанию Проблемы с кодировкой utf-8

Здраствуйте
При на писании PHP файла в браузер не выводятся русские буквы, а выводит кракозябры

Цитата:
<?php
include ("blocks/bd.php"); /* Соединяемся с базой*/
$result = mysql_query("SELECT title,meta_d,meta_k FROM settings WHERE page='index'", $db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору admin@cosmeticworld.com.</ br> <strong>Код ошибки:</strong></p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit ();
} /*Запрос к БД с проверкой*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="EN" dir="ltr">
<head profile="http://gmpg.org/xfn/11">
<title><?php echo $myrow['title']; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="description" content="<?php echo $myrow['meta_d']; ?>" />
...
если я вставлю
Цитата:
<?php
include ("blocks/bd.php"); /* Соединяемся с базой*/
$result = mysql_query("SELECT title,meta_d,meta_k FROM settings WHERE page='index'", $db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору admin@cosmeticworld.com.</ br> <strong>Код ошибки:</strong></p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit ();
} /*Запрос к БД с проверкой*/
mysql_query('set character_set_client="utf8"');
mysql_query('set character_set_results="utf8"');


?>
то выводит руские буквы в title, meta_d, meta_k но документ по прежнему кракозяброй

если добавлю
Цитата:
header("Content-Type: text/html; charset=UTF-8");
вместо
mysql_query('set character_set_client="utf8"');
mysql_query('set character_set_results="utf8"');
то выводит страницу по русски, но ставит крадратики в title, meta_d, meta_k
подскажите пожалуйста как решить проблему

Последний раз редактировалось cyclobe; 06.08.2012 в 01:55. Причина: Изменения в формулировке
cyclobe вне форума Ответить с цитированием
Старый 06.08.2012, 02:05   #2
LZero
Форумчанин
 
Регистрация: 20.07.2012
Сообщений: 129
По умолчанию

А файл в какой кодировке сохранен?
LZero вне форума Ответить с цитированием
Старый 06.08.2012, 02:08   #3
cyclobe
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 51
По умолчанию

в utf-8, и база в utf-8
cyclobe вне форума Ответить с цитированием
Старый 06.08.2012, 02:11   #4
LZero
Форумчанин
 
Регистрация: 20.07.2012
Сообщений: 129
По умолчанию

Приведите пример кракозябров.
LZero вне форума Ответить с цитированием
Старый 06.08.2012, 02:16   #5
cyclobe
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 51
По умолчанию

если разместить вот так то все впорядке и там и там, все выводится по русски

Цитата:
<?php
header('Content-type: text/html; charset=utf-8');
include ("blocks/bd.php"); /* Соединяемся с базой*/
mysql_query('SET NAMES utf8');
$result = mysql_query("SELECT title,meta_d,meta_k FROM settings WHERE page='index'", $db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору admin@cosmeticworld.com.</ br> <strong>Код ошибки:</strong></p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit ();
} /*Запрос к БД с проверкой*/

?>
*красным цветом выделены строки что вставляются

Последний раз редактировалось cyclobe; 06.08.2012 в 02:17. Причина: исправления
cyclobe вне форума Ответить с цитированием
Старый 06.08.2012, 02:33   #6
cyclobe
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 51
По умолчанию

вначале файла

header('Content-type: text/html; charset=utf-8');
сразу после соединения с БД

mysql_query('SET NAMES utf8');
чтобы наверняка
cyclobe вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с кодировкой Александр74 Помощь студентам 1 09.06.2012 22:21
Как правильно прочитать файл с кодировкой UTF-8 КАРТОВЕДЪ Общие вопросы Delphi 8 08.02.2012 12:31
Проблемы с кодировкой UTF-8 Prontit Общие вопросы Delphi 2 29.07.2011 18:30
Проблемы с кодировкой. Jakethefish PHP 2 14.04.2011 15:58
Помогите с записью строк в фаил с кодировкой UTF-8 Виталий Серов Общие вопросы Delphi 1 26.03.2009 03:22