Есть простой php-скрипт, который выводит записи из таблицы 'comments'. Выглядит так:
$sql = " SELECT id, parent_id, name, comment,
DATE_FORMAT(date_add, '%d %M %Y %H:%i') as date_add
FROM comments; ";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query))
{
$data[$row['id']] = $row;
}
echo "<pre>";
print_r($data);
echo "</pre>";
Когда файл с этим скриптом лежит в папке test_1 записи из таблицы выводятся в правильной кодировке, если скопировать файл в папку test_2 (или создать в этой папке новый файл с этим скриптом), то вместо русского текста почему-то выводится абракадабра: РџРѕРґСЃРєР°....
Оба файла при этом АБСОЛЮТНО идентичны!
SQL-запрос при создании базы данных, в которой находится таблица, был такой:
CREATE DATABASE `my_db` CHARACTER SET utf8 COLLATE utf8_general_ci;
При создании таблицы - такой:
CREATE TABLE `my_db`.`comments` (
`id` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`parent_id` INT( 5 ) NOT NULL DEFAULT '0',
`name` VARCHAR( 50 ) NOT NULL ,
`comment` TEXT NOT NULL ,
`date_add` DATETIME NOT NULL
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
В php-файле при подключении к MySQL тоже устанавливается кодировка:
mysql_query('SET CHARACTER SET utf8');
mysql_query('SET NAMES utf8');
В общем, уже пол дня голову ломаю, но причину так и не нашел. Буду рад если кто объяснит где моя ошибка.
Примечание:
Причина найдена: в папке test1 находился файл .htaccess с установленной кодировкой UTF-8, но я его не видел т.к. что не был включен режим отображения скрытых файлов и поэтому в папку test2 я его не скопировал. Спасибо всем кто откликнулся, вопрос закрыт.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.