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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с кодировкой 
:(
    Опции темы
Sl@va
Дата 5.4.2005, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 22.11.2004
Где: Нижний Новгород

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



Здравствуйте !
Имеется небольшая проблема с кодировкой. Опишу ситуацию поподробнее.
Имеется скрипт, который открывает окно методом window.open и через document.write записывает в него HTML страницу. Тоесть в открывшимся окне появляется страница, содержащая форму с двумя полями запроса и одной кнопкой Submit. При нажатии данной кнопки текст, который введен в текстовые поля передается на сервер Php скрипту, но передается он в непонятной кодировке (в частности только русские буквы), но самое интересное, что если например создать html страницу с точно таким же содержимым что и в Popup окне, то при отправке формы из этой страницы текст передается нормальный. Тоесть нечитаемый текст передается только в том случае, если форма отправляется из Popup окна. Не подскажете в чем может быть проблема ?
Заранее спасибо.
Вот сама Html страница, которая через document.write выводится в всплывающее окно.

Код

<html>
<head>
<title>отправка формы</title>
<meta http-equiv='Content-Type' content='text/html'; charset='windows-1251'>
<script language='JavaScript'>
function Submit()
{
var error=0;
if (document.form1.Param1.value=='')
{
setTimeout('document.form1.Param1.focus()', 0);
error=error+1;
}
if (document.form1.Param2.value=='')
{
setTimeout('document.form1.Param2.focus()',0);
error=error+1;
}
if (error==0)
{
document.form1.submit();
}
}
</script>
</head>
<body bgcolor='#EDEEE6'>
<font size='2' face='Helvetica,Arial'>
<form name='form1' method='post' action='http://www.site.ru/script.php'>
Поле 1<br>
<input type='text' name='Param1' size='35'><br>
Поле 2<br>
<input type='text' name='Param2' size='35'>
<br><br>
<input type='button' name='button' value='Отправить' onClick='Submit()'>
</form>
</font>
</body>
</html>

PM MAIL WWW ICQ Skype   Вверх
Irokez
Дата 5.4.2005, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

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



по-моему кавычки надо убрать:
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
PM   Вверх
Sl@va
Дата 5.4.2005, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 22.11.2004
Где: Нижний Новгород

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



Кавычки здесь совершенно не причом
Вот что он выводит. В текстовое поле я ввел "Проверка работы".
А вот что передалось Php скрипту - проверка работы
PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 5.4.2005, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Цитата(Sl @ 5.4.2005, 21:59)
Кавычки здесь совершенно не причом

Как раз причем.

Цитата(Sl @ 5.4.2005, 21:19)
content='text/html'; charset='windows-1251'

content должен содержать единую строку: 'text/html; charset=windows-1251'
PM ICQ   Вверх
Sl@va
Дата 6.4.2005, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 22.11.2004
Где: Нижний Новгород

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



Код

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />


Так тоже пробовал, все равно не помогает, в доке кодировка тоже указана. Метод Get тоже не дает результатов. Даже не могу понять в чем причина. Название функции тоже поменял, чтобы небыло конфликтор, но ничего не помогает. Но самое странное, что если отправлять данную форму не через Popup окно а через обычную Html страницу, то все передается нормльно. Тоесть сам Html код в порядке, написан правильно. Может это из-за какихто свойств браузера, или созданные им всплывающие окна обладают какими нето другими свойствами.
PM MAIL WWW ICQ Skype   Вверх
Ignat
Дата 7.4.2005, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

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



Как вариант решения - выводить в юникоде, и пхп скриптом переконвертить:
Код

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


А в скрипте:

Код

$param1=iconv("UTF-8","windows-1251",$param1);



--------------------
Теперь при чем :P
PM   Вверх
Sl@va
Дата 7.4.2005, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 22.11.2004
Где: Нижний Новгород

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



Ура, заработало. Спасибо огромное за помощь !
Поставил document.charset у открываемого окна
Код

var win=window.open(....
win.document.charset="windows-1251";
win.document.write(...

и все заработало как надо. Теперь строка, вводимая в поле ввода передается в нормальной кодировке.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




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


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

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