Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2010, 13:45   #1
kirosin
Форумчанин
 
Аватар для kirosin
 
Регистрация: 15.01.2010
Сообщений: 209
По умолчанию проблема с кодировкой

file1.php:
Код:
<?
$text='немножко текста';
echo '<a href="file2.php?text='.$text.'">клик</a>';
?>
file2.php:
Код:
<?
echo $_GET['text'];
?>
В опере все норм, а эксплорер принимает кракозяблики (квадратики).
В обоих файлах кодировка прописана в заголовке:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//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=utf-8;" />
Пробовал так - file2.php:
Код:
<?
echo $q = $_GET['text'];
echo $s = mb_detect_encoding($q);
echo $v = iconv($s, 'UTF-8', $q);
?>
В опере норм, в эксплорере: $q=кракозяблики, $s=UTF-8, $v пустой.
Также пробовал в file1.php сперва переконвертировать $text в utf-8
Все генитальное просто.
kirosin вне форума Ответить с цитированием
Старый 07.10.2010, 14:28   #2
kirosin
Форумчанин
 
Аватар для kirosin
 
Регистрация: 15.01.2010
Сообщений: 209
По умолчанию

пока суть да дело, решил проблему брутально - транслитерацией/детранслитерацией, все работает как надо. Но если у кого есть соображения где я лоханулся с кодировкой, то хотелось бы знать на будущее.
Все генитальное просто.
kirosin вне форума Ответить с цитированием
Старый 07.10.2010, 22:09   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Скорее всего вы забыли в начале php указать:
Код:
header("Content-type: text/html; charset=utf-8");
Виталий Желтяков вне форума Ответить с цитированием
Старый 08.10.2010, 15:11   #4
kirosin
Форумчанин
 
Аватар для kirosin
 
Регистрация: 15.01.2010
Сообщений: 209
По умолчанию

Добавил
Код:
header("Content-type: text/html; charset=utf-8");
но результат тот же...
опера GET-запрос конвертирует в 16-ричную систему, аля http://mysite.com/test.php?text=%D0%A4%D1%80%D0 и корректно распознает в принимающем файле, а эксплорер в строке браузера оставляет кириллицу http://mysite.com/test.php?text=текст и в принимающем файле echo $_GET['text']; уже выводит кракозябликов.
Все генитальное просто.
kirosin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с кодировкой nolz Microsoft Office Word 1 07.01.2012 22:20
проблема с кодировкой Demonmov C++ Builder 1 02.06.2010 01:15
Проблема с кодировкой motorway PHP 11 02.10.2009 21:32
Проблема с кодировкой... SynonymMixer Общие вопросы Delphi 6 28.01.2009 15:40