Дизайн и Верстка > Всё о Html
Кодировки в многоязычной CMS
FreeSpace:
Возник вопрос по организации заполнения данных многоязычной CMS. В принципе, вопрос касается всех существующих кодировок, но для простоты сведу его к частному случаю:
Интерфейс CMS выполнен на русском, соответствующий хидер отправляет сервер в заголовке HTTP-ответа эта же кодировка (windows-1251) прописана в мета-теге.
В самой CMS, кроме ввода русскоязычного контента, предусмотрен ввод немецкого. Но при вводе чисто немецких символов, таких как ä, при передаче серверу они превращаются в html entities. Как можно обойти эти грабли?
ondr:
А может стоит посмотреть в сторону UTF-8? ;)
Макс:
а аттрибут accept-charset здесь не поможет ?
http://www.w3.org/TR/1998/REC-html40-19980424/interact/forms.html#h-17.3
PS
сам не пробовал, просто предположение
FreeSpace:
ondr
В следующем многоязычном проекте, быть может, так и сделаю.
А в этом... ну что сказать, провтыкал :(
Макс
Похоже, то что нужно!
Сегодня проверю и отпишу здесь.
Большое спасибо!
FreeSpace:
Мда, результат не очень утешительный :(
Свою задачу я решил иначе, но из чистого интереса решил поэкспериментировать с предложенным Максом способом.
Сам параметр accept-charset, похоже, просто игнорируется браузерами.
Я пробовал указывать разные кодировки - результат один и тот же.
Вот скрипт, который я использовал для тестирования:
<?php
if (getenv(\'REQUEST_METHOD\') == \'GET\')
{
header(\'Content-Type: text/html; charset=windows-1251\');
?>
<html>
<head>
<title>Тест кодировки</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta http-equiv="Content-Language" content="ru" />
</head>
<body>
<form action="<?=$_SERVER[\'PHP_SELF\']?>" method="post" accept-charset="de">
<input type="text" name="data" />
<input type="submit" />
</form>
</body>
</html>
<?php
}
else
{
header(\'Content-Type: text/plain\');
echo $_POST[\'data\'];
}
?>
Навигация
Перейти к полной версии