|
 1.9 Кб |
|
| Добрый день.
подскажите, пожалуйста, как можно изменить кодировку введенного в форму слова (приложила файл).
Подробности:
сайт у меня в windows-1251, a сайт Lingvo - в utf-8, т. о. при вводе в поле слова для перевода, открывается сайт Lingvo с введенным мной словом в виде квадратиков.
Спасибо! | |
|
|
|
|
|
|
|
для: anuk
(24.09.2009 в 13:07)
| | В ява-скрипт есть специальная функция для прекодирования в Юникод, но, блин, забыл её название! Но я вам посоветую перевести свой сайт в Юникод и никогда не будете иметь проблем в будущем. И не надо будет ничего перекодировать.
Вот, кажется, эта функция:
encodeURIComponent('привет мир'); | |
|
|
|
|
|
|
|
для: coloboc66
(24.09.2009 в 17:26)
| | Нет специальной функции перекодирования в Юникод. Приведенная Вами функция выполняет так называемое URI-кодирование, т. е. в адресе изменяет лишь потенциально недопустимые символы (кирилические, /, ? пробелы и т. п.) остальные же оставляет такими, как они и есть. Например, пробел будет заменен последовательностью "%20". Единственный выход - действительно перевести файл с формой отправки в Юникод. Так как текст принимает кодировку страницы с формой ввода. | |
|
|
|
|
|
|
|
для: Sergeich
(24.09.2009 в 18:02)
| | Угу, завтра поспорим... Эта функция именно кодирует в Юникод любую кириллицу, если я не ошибаюсь... | |
|
|
|
|
|
|
|
для: coloboc66
(24.09.2009 в 22:38)
| |
Метод escape() возвращает строку (в формате Unicode)
|
| |
|
|
|
|
|
|
|
для: AlexSol
(25.09.2009 в 07:57)
| | Большое спасибо за отклики!
Дело в том, что я, к сожалению, не знаю js (представленный в файле код брала на сайте Lingvo), - смутно представляю себе куда вставить представленные Вами функции, чтобы заработало :( , подскажите, пожалуйста.
Спасибо! | |
|
|
|
|
|
|
|
для: anuk
(25.09.2009 в 08:28)
| | Девушка, если вы не знаете ява-скрипт, то и не парьтесь с ним, а просто перекодируйте свои странички в Юникод. Для этого в их заголовках нужно указать
<html><title>test</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
Потом в редакторе сохранить их в кодировке UTF-8
и закачать их на свой хостинг.
И ВСЁ! И тогда ничего вам переделывать и писать функции будет не нужно.
Если вы хотите работать с иностранными языками, то забудьте о любых кодировках, кроме UTF-8. | |
|
|
|
|
|
|
|
для: AlexSol
(25.09.2009 в 07:57)
| | escape(); как и упомянутый выше метод encodeURIComponent(); возвращают один и тот же результат. Интересно, где Вы взяли информацию про Юникод? Можно хоть одну ссылочку? Или пример работы этого метода с вхождением в windows-1251 и возвращением текста в юникоде?
http://www.faqs.org/rfcs/rfc1738 | |
|
|
|
|
|
|
|
для: Sergeich
(25.09.2009 в 10:34)
| | В том-то и дело, что я пока не могу изменить кодировку всего сайта, а изменение кодировки конкретной страницы ничего не дает, т. к. она включена в другую, - мне необходимо, чтобы, при вводе пользователем слова, оно (невидимо для пользователя) меняло кодировку, либо при нажатии кнопки посылало уже перекодированное слово. Я приблизительно представляю себе, что можно воспользоваться каким-то событием для вызова функции, что-то вроде этого:
<input onchange="escape();" id=words maxLength=100 name=words align="left">
|
либо к кнопке привязать событие, только я не знаю какое именно событие - пробовала- не получилось, и вообще, не знаю права ли я в своем предположении.
Подскажите, please | |
|
|
|
|
|
|
|
для: anuk
(25.09.2009 в 11:05)
| | Сергеич: странная ситуация - я помню, что когда-то кодировал данные формы этим методом и у меня всё вроде бы как получалось, но потерял те скрипты. Сейчас пробую - не выходит. Если вы правы, то девушке только один выход - менять кодировку своего сайта. | |
|
|
|
|
|
|
|
для: anuk
(24.09.2009 в 13:07)
| | что-то похожее наверное должно быть
-----------------------------------------------------
<script>
function my_xfunc(obj) {
window.open("http://www.abbyyonline.ru/translate.aspx?lingvoaction=translate&VTI\-GROUP="\
+ obj.VTI_GROUP.value +"&Ln=1&words="\
+ encodeURI(obj.words.value) +"&submit=Traducere"\
,"", "alwaysRaised,menubar,HEIGHT=300,WIDTH=400");
}
</script>
<form charset="" onSubmit="my_xfunc(this); return false;" id=translationForm action="http://www.abbyyonline.ru/translate.aspx" method=get style="margin:5px;">
<input type=hidden value=translate name=lingvoaction>
<input type=hidden value=0 name=VTI_GROUP>
<select class=loForm name=Ln style="width:175">
<option value=1 selected>Engleza <> Rusa</option>
<option value=2>Germana <> Rusa</option>
<option value=3>Franceza <> Rusa</option>
<option value=4>Italiana <> Rusa</option>
<option value=5>Spaniola <> Rusa</option>
<option value=1>Rusa <> Engleza</option>
<option value=2>Rusa <> Germana</option>
<option value=3>Rusa <> Franceza</option>
<option value=4>Rusa <> Italiana</option>
<option value=5>Rusa <> Spaniola</option>
</select>
<br /><br>
<input class=loForm id=words maxLength=100 size=25 name=words align="left" style="width:175">
<br /><br>
<input name="submit" type=submit class=loFormB value=Traducere />
</form>
<form enctype="multipart/form-data" action="http://src/PERL/test_UPLOAD.pl" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Отправить этот файл: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
-----------------------
пришлось изменить VTI-GROUP на VTI_GROUP, не знаю как по другому обратиться к элементу
//upd в ие только не сработали такие переносы строк как +\
, одной строкой работает | |
|
|
|