?????????
Чтобы всё работало как часики, нужно чтобы кодировки на входе и на выходе были одинаковые (если не охота возюкаться с преобразованиями).
Для начала неплохо выяснить, в какой кодировке работает ваше приложение:
<?
$sql = "SHOW SESSION VARIABLES
LIKE 'character_set_connection'";
$res = mysql_query($sql);
print_r(mysql_result($res, 0, 1));
echo "<hr/>";
$sql = "SHOW SESSION VARIABLES
LIKE 'collation_connection'";
$res = mysql_query($sql);
print_r(mysql_result($res, 0, 1));
echo "<hr/>";
?>
Эти два нехитрых запроса выведут кодировку (character set) и сравнение (collation)
вашего соединения. У меня они чаще всего равняются "latin1" и "latin1_swedish_ci"
соответственно.
Теперь необходимо выяснить, в какой кодировке работает выше "входное" приложение. Это можно сделать либо выполнив приведённые запросы прямо в нём (если позволяет), либо посмотрев логи MySQL на предмет выполняемых запросов в момент инициализации "входного" приложения. Что касается phpMyAdmin, то он выполняет два приведенных ниже запроса, чтобы работать в кодировке utf8, которая рекомендуется для работы с национальными кодировками типа русской:
SET NAMES utf8
SET collation_connection = 'utf8_general_ci'
Таким образом, ваша задача состоит в запуске этих же запросов
в начале вашего приложения.
Если теперь знаки вопроса сменились абракадаброй, то это уже прогресс! Тогда нужно выставить кодировку страницы в броузере:
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8"/>
</head>
0 комментов:
Отправить комментарий