Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: кирилица и ajax
 
 автор: moonfox   (21.02.2011 в 01:03)   письмо автору
 
 

нашел вот такой код

// это список кирилических букв
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 
}; 

function requestdata(id)
{
    var re = document.getElementById('text').value;
    var poststr = "text=" + cyrEsc(re) + '&id=' + id;
    loadXMLDoc('editupiccoms.php', poststr, id, 0); // создание XMLHttpRequest и обработка
}



насколько это вообще нужно, замена кирилицы на hex, перед отдачей?

  Ответить  
 
 автор: Crux   (21.02.2011 в 07:03)   письмо автору
 
   для: moonfox   (21.02.2011 в 01:03)
 

1. Напрямую через XMLHttpRequest можно передавать только строки в кодировке UTF-8.

2. Можно передавать строки как бы "в любых других кодировках", если нелатинские символы
при этом за-escape-ены.

3. В JavaScript существует 3 функции, которые escape-ят нелатинские символы:
escape(), encodeURI() и encodeURIComponent().

Первая переводит в кривой Unicode. Вторые две в UTF-8.

Можно написать свои функции, которые будут генерировать escape-последовательности любой кодировки. Можно, но не нужно.

более подробно почитайте здесь: http://habrahabr.ru/blogs/webdev/17640/

  Ответить  
 
 автор: moonfox   (21.02.2011 в 12:27)   письмо автору
 
   для: Crux   (21.02.2011 в 07:03)
 

спасибо, разобрался

можно вообще не ecapить ничего ))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования