PDA

Показать полную графическую версию : MySQL вместо русских букв выдаёт знаки вопроса


Blue Screen of Death
27-10-2011, 22:24
Вот учусь PHP. Вытаскиваю вот из БД первую строку... Ну точнее элемент "dol". Его значение - Директор. То есть написан русскими буквами. <!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Соединяемся с БД</title>
</head>

<body>
<?php
$db = mysql_connect("localhost","Vlad","02061998q");
mysql_select_db("firstbd",$db);

$result = mysql_query("SELECT * FROM firma",$db);
$myrow = mysql_fetch_array($result);

echo $myrow["dol"];
?>
</body>
</html>


Так КАКОГО оно мне вот такое (на скриншоте) показывает?? Кодировка то cp1251_general_ci.
Подскажите, что за ерунда??? Юзаю phpMyAdmin. Вот еще скриншот с БД приложил. Может кто там чего найдёт....

andrew_jr20
27-10-2011, 22:48
Щёлкни в phpMyAdmin ссылку localhost (вверху), там есть значение MySQL connection collation - это кодировка самого соединения с мускулем, какое там значение? Скорее всего 1252 или ещё какое-то, отличное от 1251. Выставь что нужно и проверь, а вообще уже лучше бы использовать utf8-general-ci.

Sham
28-10-2011, 09:05
если phpMyAdmin, причем тут приведенный код?
Кодировка соединения с базой должна соответствовать кодировке таблицы. SET NAMES перед запросами должно хватить.
SET NAMES 'cp1251'
при необходимости можно добавить
SET CHARACTER SET 'cp1251'
rtm (http://dev.mysql.com/doc/refman/5.6/en/charset-connection.html)

Busla
28-10-2011, 09:40
для html указана кодировка utf-8 - броузер честно пытается интерпретировать содержимое странички, как юникод

vestal
07-11-2011, 00:17
Сам html редактируйте в кодировке Windows-1251. А вобще давно пора переходить на utf-8.




© OSzone.net 2001-2012