[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: UTF-8 из MySQL
lostbananan
В MySQL данные храняться правильно, проверял PHPMyAdmin:
CHMELÍŘOVÁ HELENA f.o.
страница на рнр выдает:
CHMEL??OV? HELENA f.o.
Что надо там еще написать, чтобы она выдавала правилно?



Спустя 1 минута, 56 секунд (27.01.2012 - 09:06) Invis1ble написал(а):
lostbananan
уже 100500 раз отвечали, юзай поиск по форуму



Спустя 2 минуты, 16 секунд Invis1ble написал(а):
ПС. Мог бы хотя бы закрепленные темы почитать в данном разделе, перед тем как создавать новую - Кодировка, Спастите, кракозяблы!!!

Спустя 3 минуты, 5 секунд (27.01.2012 - 09:10) lostbananan написал(а):
у меня в рнр такой код:
mysql_query("set character_set_client='utf8'");
mysql_query("set character_set_results='utf8'");
mysql_query("set collation_connection='utf8_general_ci'");
mysql_set_charset('utf8');
А все-равно не то выдает!

Спустя 38 секунд (27.01.2012 - 09:10) Invis1ble написал(а):
не знаю такого - рнр, выше уже дан ответ

Спустя 4 минуты, 29 секунд (27.01.2012 - 09:15) lostbananan написал(а):
эту тему я читал.
Вот полностью мой рнр-файл:
<?php
session_start();
if (!isset($_SESSION['auth'])){
echo "<font color=red>Error author!</font>";
Exit();
}
include("config/connect.inc");
$query = "SELECT Name, adresa, phone, phone2, phone3, phone4, phone5, mail, mail2, mail3, web, web2 From Firms1";
$result = mysql_query($query);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<?

/*mysql_query("set character_set_client='utf8'");
mysql_query("set character_set_results='utf8'");
mysql_query("set collation_connection='utf8_general_ci'");*/
mysql_query("set character_set_client='utf8'");
mysql_query("set character_set_results='utf8'");
mysql_query("set collation_connection='utf8_general_ci'");
mysql_set_charset('utf8');
while ($row = mysql_fetch_assoc($result)) {

echo "<td>".$row["Name"]."<br>";
echo "<td>".$row["adresa"]."<br>";
echo "<td>".$row["phone"]."<br>";
echo "<td>".$row["phone2"]."<br>";
echo "<td>".$row["phone3"]."<br>";
echo "<td>".$row["phone4"]."<br>";
echo "<td>".$row["phone5"]."<br>";
echo "<td>".$row["mail"]."<br>";
echo "<td>".$row["mail2"]."<br>";
echo "<td>".$row["mail3"]."<br>";
echo "<td>".$row["web"]."<br>";
echo "<td>".$row["web2"]."<br>";
echo "<hr>";
}
?>
Русский язык

<br>Українська мова
<br>ěščřžýáí
<br>English
А вот, что получаю на странице:
CHMEL??OV? HELENA f.o.
Pr?honek 1265/22 Stod?lky Praha 15500 Praha 515
251626403
608828848



helena.chmelirova@gmail.com


www.praha365.cz

Русский язык
Українська мова
ěščřžýáí
English
т.е. данные из кода рнр он показывает правильно, а те данные что получает от MySQL - лажа

Спустя 1 час, 36 минут, 32 секунды (27.01.2012 - 10:51) VELIK505 написал(а):
подсказывает мне моя задница что у вас не указана кодировка страницам пропишите её в head
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

и не задана кодировка серверу, в корневом .htaccess вставляем такую строчку в самом верху:
AddDefaultCharset utf-8

и смотри чтобы файлики у тебя были в utf-8 без BOM.
И не понимаю почему вы пишите все эту глупость
mysql_query("set character_set_client='utf8'");
mysql_query("set character_set_results='utf8'");
mysql_query("set collation_connection='utf8_general_ci'");
mysql_set_charset('utf8');

вот такую чушь это уже за вас прописано в my.cnf начиная с 5ой версии mysql по дефолту она итак utf-8

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

Спустя 1 час, 7 минут, 21 секунда (27.01.2012 - 11:59) lostbananan написал(а):
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
это у меня есть, после проверки авторзации
Я исполюзую Денвер (3-й), где надо создать файл .htaccess? в папке имеенно этого сайта?
И еще, если я в нем в этом файле буду иметь только одну строку (AddDefaultCharset utf-8) сервер будет работать нормально?

Спустя 25 минут, 57 секунд (27.01.2012 - 12:24) lostbananan написал(а):
К стати, в корневую папку даного сайта вставил файл л .htaccess... Но, все-равно, кракобряки!

Спустя 7 минут, 32 секунды (27.01.2012 - 12:32) lostbananan написал(а):
Т.е. в данном случае код рнр выдает првильно:
Русский язык

<br>Українська мова
<br>ěščřžýáí
<br>English
В браузере это и есть, а те данные, которые беруться из БД - кракобряки вместо (в данном случае, ческого текста).!

Спустя 59 минут, 50 секунд (27.01.2012 - 13:32) Bezdna написал(а):
Кодировка базы тоже utf-8?

Спустя 6 часов, 15 минут, 57 секунд (27.01.2012 - 19:48) lostbananan написал(а):
Да

Спустя 1 час, 20 минут, 12 секунд (27.01.2012 - 21:08) Winston написал(а):
Цитата (lostbananan @ 27.01.2012 - 08:15)
эту тему я читал

Значит плохо читал
Цитата (lostbananan @ 27.01.2012 - 08:15)
Вот полностью мой рнр-файл:

Нужно в начало PHP файла написать
header("Content-Type: text/html; charset=utf-8");




Спустя 57 секунд Winston написал(а):
Вместо этого
Цитата (lostbananan @ 27.01.2012 - 08:15)
mysql_query("set character_set_client='utf8'");
mysql_query("set character_set_results='utf8'");
mysql_query("set collation_connection='utf8_general_ci'");*/
mysql_query("set character_set_client='utf8'");
mysql_query("set character_set_results='utf8'");
mysql_query("set collation_connection='utf8_general_ci'");
mysql_set_charset('utf8');

Напиши просто
mysql_query('SET NAMES utf8');

Спустя 11 часов, 7 минут, 18 секунд (28.01.2012 - 08:15) lostbananan написал(а):
Да нет, читал я тему не плохо. А вот мой код ты посмотрел плохо:
<?php
session_start();
if (!isset($_SESSION['auth'])){
echo "<font color=red>Error author!</font>";
Exit();
}
include("config/connect.inc");
$query = "SELECT Name, adresa, phone, phone2, phone3, phone4, phone5, mail, mail2, mail3, web, web2 From Firms1";
$result = mysql_query($query);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
Но, результат тотже!!!:
CHMEL??OV? HELENA f.o.
Pr?honek 1265/22 Stod?lky Praha 15500 Praha 515
251626403
608828848



helena.chmelirova@gmail.com


www.praha365.cz

Русский язык
Українська мова
ěščřžýáí
English
Здесь видно, что данные из MySQL идут кракозябом, а данные HTML - правильно!
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Спустя 5 минут, 39 секунд (28.01.2012 - 08:21) lostbananan написал(а):
А phpMyAdmin/index показывает:

1 CHMELÍŘOVÁ HELENA f.o. 251626403 helena.chmelirova@gmail.com www.praha365.cz Průhonek 1265/22 Stodůlky Praha 15500 Praha 515 60882884
Т.е. данные в MySQL сохранены правильно, но, почему-то рнр их показывает неправильно!

Спустя 33 минуты, 27 секунд (28.01.2012 - 08:54) Игорь_Vasinsky написал(а):
где у тя????????????
header("Content-Type: text/html; charset=utf-8");



делай:

<?php
error_reporting(E_ALL); //Для вывода ошибок
header("Content-Type: text/html; charset=utf-8");
session_start();
if (!isset($_SESSION['auth'])){
echo "<font color=red>Error author!</font>";
Exit();
}
include("config/connect.inc");
$query = "SELECT Name, adresa, phone, phone2, phone3, phone4, phone5, mail, mail2, mail3, web, web2 From Firms1";
$result = mysql_query($query);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
head>
Но, результат тотже!!!:
CHMEL??OV? HELENA f.o.
Pr?honek 1265/22 Stod?lky Praha 15500 Praha 515
251626403
608828848



строки в таблице - для них в PMA ставь utf


Спустя 5 часов, 58 минут, 18 секунд (28.01.2012 - 14:53) Winston написал(а):
lostbananan
Я так понял, что в моем посте ты прочитал только первую строку. Ну что же - печалька smile.gif

Спустя 4 минуты, 25 секунд (28.01.2012 - 14:57) neadekvat написал(а):
Хм, странно.
Цитата (Winston)
user posted image

Шило на мыло. А ведь у автора есть правильный вариант:
mysql_set_charset('utf8');

Спустя 7 часов, 10 минут, 31 секунда (28.01.2012 - 22:08) Лена написал(а):
По коду сначала человек делает запрос к БД, а после устанавливает кодировку соединения.
Почему здесь
$result = mysql_query($query);
Идет раньше, чем mysql_query("set character_set и все остальное?


<?php
session_start();
if (!isset($_SESSION['auth'])){
echo "<font color=red>Error author!</font>";
Exit();
}
include("config/connect.inc");
$query = "SELECT Name, adresa, phone, phone2, phone3, phone4, phone5, mail, mail2, mail3, web, web2 From Firms1";
$result = mysql_query($query);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</
head>
<?

/*mysql_query("set character_set_client='utf8'");
mysql_query("set character_set_results='utf8'");
mysql_query("set collation_connection='utf8_general_ci'");*/

mysql_query("set character_set_client='utf8'");
mysql_query("set character_set_results='utf8'");
mysql_query("set collation_connection='utf8_general_ci'");
mysql_set_charset('utf8');
while ($row = mysql_fetch_assoc($result)) {


После установки соедиения можно проверить кодировку:
$charset = mysql_client_encoding($link);
print $charset;
Она здесь и будет правильная. Но запрос к базе уже ушел.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.