Помогите разобраться с кодировка в связке MySQL PHP

Ingvar

Новичок
Доброго дня!
Проблема с выводом текста из базы SQL начинает сильно нервировать и доставлять.
Пишу свою первую программу и уже несколько дней нахожусь практически в одной точке.
Опускаются руки, падает энтузиазм, кончается энергия.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/htm14/lose.dtd">
<html>
<head>
<meta http-equiv="Content-Type"
<content="text/html; charset='windows-1251'">
<title>Хранилище</title>
<link rel="stylesheet" type="text/css" href="reset.css">
<link rel="stylesheet" type="text/css" href="wb_style.css">
<meta name="keywords" content="">
<meta name="description" content="">
</head>
<body>

<?php
//*Устанавливаем соединение с сервером//
$conn = mysql_connect('localhost','igor',"agasfer") or die ("Невозможно установить соединение: ". mysql_error());
mysql_select_db("warehouse");
//mysql_set_charset('cp1251',$conn);
mysql_query("SET NAMES CP1251");
$adress_query = mysql_query("SELECT * FROM wh");
while ($data_query = mysql_fetch_assoc($adress_query)) {
print $data_query["thing"]."<br>";}
?>
Результат: Вводит данные в неверной кодировке. Базу и все таблицы преобразовал в utf8. Проверка командой show variables like '%charac%'; mysql> show variables like '%charac%';

mysql> show variables like '%charac%';

mysql> show variables like '%charac%';
+--------------------------+--------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------+
| character_set_client | cp1251 |
| character_set_connection | cp1251 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | cp1251 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | \usr\local\mysql-5.5\share\charsets\ |
+--------------------------+--------------------------------------+
8 rows in set (0.00 sec)
В консоли все работает хорошо, русский текст выводит, можно добавлять данные. Вывод через сайт оказался большой проблемой, которую я не могу решить.
 

Ingvar

Новичок
С этого начинал, прошелся по всем рекоммендациям, но результат остался неизменным.
 

Фанат

oncle terrible
Команда форума
Чувак.
фраза "все пробовал" или "всё прошёл" - самая бессмысленная, какую только можно выдумать.
если всё пробовал, то всё и работает.
а если не работает - значит - не всё прошёл.

Писать надо не "я всё сделал, все равно не работает жду волшебника в голубом вертолёте!"
Писать надо конкретно - ЧТО проверял, КАК проверял, КАКОЙ результат получил.

Вот тут-то и выяснится, что прошёл не "всё", а максимум треть, да и ту не понял и сделал криво.
 

Фанат

oncle terrible
Команда форума
Если в консоли работает, то, скорее всего - неверно указана кодировка страницы.
Как проверял? Какой заголовок отдаёт сервер?
 

Ingvar

Новичок
Разобрался. Я внес данные с консоли, которая, как я понимаю, тоже является клиентом, изначально в неверной кодировке, так как кодировка консоли была 866, а по умолчанию кодировка клиента в настройках сервера, как я понял, была 1251. Когда я стал менять кодировку консоли и эксперементировать с SET NAMES, то стало более менее ясно почему выводились данные в неправильном формате.
 
Сверху