Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт выводить из базы вопросительные знаки, хотя везде выставлено 1251 
:(
    Опции темы
begin
Дата 9.7.2016, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Есть скрипт, который берет данные из базы. Но возникла проблема с вопросительными знаками.
Знаю, что этот вопрос задают все новички. Но в скрипте соблюдены все правила, и все равно вопросительные знаки.

Что сделано, чтобы это исправить:
1. кодировка базы cp1251_general_ci
2. кодировка (сравнение) таблицы cp1251_general_ci
3. проверен контент таблицы: русские надписи читаются нормально, сортировка происходит логично, как нужно
4. скрипт сохранен в программе Notepad++ в кодировке ANSI
5. в скрипте отправляется заголовок header("Content-Type: text/html; charset=windows-1251
6. в скрипте указан тег <meta http-equiv="Content-Type" content="text/html;charset=windows-1251">
И все равно выводятся вопросительные знаки.
Добавил строку mysql_query("SET NAMES 'cp1251'"); - стали выводится вообще пустые строки.
Сейчас эту строку закоментил, вернулись вопросительные знаки.

<?php header("Content-Type: text/html; charset=windows-1251"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251">
</head>
<body>
<?php

//параметры подключения к базе
$db_server='localhost';
$db_user='user';
$db_pas='test';
$db_name='dbname';

//подключаемся к базе и устанавливаем кодировку
$db=mysql_connect($db_server, $db_user, $db_pas) or die ('сервер перегружен. обновите страницу');
$res=mysql_select_db($db_name) or die ();
//mysql_query("SET NAMES 'cp1251'");

$query="select * from `post` where `id`=1";
$result=mysql_query($query, $db) or die(mysql_error());
$res=mysql_fetch_array($result);

$name=htmlspecialchars($res['name']);
echo $name;


echo "</body></html>"
?>
PM MAIL   Вверх
ksnk
Дата 9.7.2016, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



а phpmyadmin правильно показывает данные в таблице?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
begin
Дата 10.7.2016, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Цитата(ksnk @ 9.7.2016,  23:13)
а phpmyadmin правильно показывает данные в таблице?

Да, в том то и дело.
В phpmyadmin и русские надписи читаются нормально и сортировка происходит логично, как нужно.
И скачивал бекап - тоже все ок, и кодировка файла ANSI.

PM MAIL   Вверх
Angel666
Дата 12.7.2016, 02:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 8.9.2011

Репутация: нет
Всего: 1



https://habrahabr.ru/post/10983/

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1102 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.