Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Javascript: escape() для кириллических символов

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

dacuan

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имеется такой код:

Код:
 
<script>
alert('файл.jpg');
</script>
 

 
В результате получаем сообщение:

Цитата:
 
%u0416%u041F%u0424%u041F.jpg
 

 
Поле, преобразованное escape, я отправляю через POST.
Такой формат PHP-шная функция urldecode не воспринимает. Нашел функцию, которая позволяет преобразовать такие строки, но смотрится решение коряво.
 
Есть ли способ заставить javascript преобразовывать строки в шестнадцатиричный формат, а не в unicode?




Название откорректировано. /Cheery/

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 18:57 22-09-2004 | Исправлено: Cheery, 01:39 21-12-2004
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dacuan

Цитата:
Есть ли способ заставить javascript преобразовывать строки в шестнадцатиричный формат, а не в unicode?

ответ есть тут
http://forum.ru-board.com/topic.cgi?forum=31&topic=4241&start=0
 

Цитата:
Есть ли способ заставить javascript преобразовывать строки в шестнадцатиричный формат, а не в unicode?

это не hex, а тот же уникод, просто больше символов - особенность IE

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:13 22-09-2004 | Исправлено: Cheery, 19:51 22-09-2004
dacuan

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Спасибо, помогло

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 13:11 23-09-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если ещё актуально:
В теме Стандарт кодирования содержимого форм для передачи серверу:

Цитата:
по поводу проблем с кириллическими символами в виде %u0FFF вместо %FF при использовании escape() в MSIE и Opera7:  
для алфавитных кириллических символов вместо escape() можно использовать, например, такую функцию:
Код:
var alf='АаБбВвГ㥴ДдЕеЄєЖжЗзИиІіЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя'.split('')  
var alfP=['C0','E0','C1','E1','C2','E2','C3','E3','A5','B4','C4','E4', 'C5','E5','AA','BA','C6','E6','C7','E7','C8','E8','B2','B3','C9','E9','CA','EA','CB','EB','CC','EC','CD', 'ED','CE','EE','CF','EF','D0','F0','D1','F1','D2','F2','D3','F3','D4','F4','D5','F5','D6','F6','D7','F7','D8','F8','D9','F9','DA', 'FA','DB','FB', 'DC','FC','DD','FD','DE','FE','DF','FF']  
 
function cyrEsc(Str){  
   for(var i=0;i<alf.length;i++){  
      var tmp=eval('/'+alf[i]+'/g')  
         while(tmp.test(Str)){Str=Str.replace(tmp,'%'+alfP[i])}  
         }  
   return Str  
   }


----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 15:41 04-10-2004 | Исправлено: Svarga, 15:41 04-10-2004
RealAKIRA

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вы еще пишете без буквы "Ё"?! Тогда мы идем к вам!

Код:
 
var alf='АаБбВвГ㥴ДдЕеЁёЄєЖжЗзИиІіЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя'.split('')
 var alfP=['C0','E0','C1','E1','C2','E2','C3','E3','A5','B4','C4','E4', 'C5','E5','A8','B8','AA','BA',
 'C6','E6','C7','E7','C8','E8','B2','B3','C9','E9','CA','EA','CB','EB','CC','EC','CD', 'ED',
 'CE','EE','CF','EF','D0','F0','D1','F1','D2','F2','D3','F3','D4','F4','D5','F5','D6','F6',
 'D7','F7','D8','F8','D9','F9','DA', 'FA','DB','FB', 'DC','FC','DD','FD','DE','FE','DF','FF']
 function cyrEsc(Str){
 for(var i=0;i<alf.length;i++){
 var tmp=eval('/'+alf[i]+'/g')
 while(tmp.test(Str)){Str=Str.replace(tmp,'%'+alfP[i])
 }  
 }
 return Str
 };
 

Всего записей: 33 | Зарегистр. 31-05-2005 | Отправлено: 02:28 10-01-2006
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Javascript: escape() для кириллических символов


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru