[ Ajax ] Проблема с русской кодировкой и её возможные решения

PHP C/\OH

Новичок
[ Ajax ] Проблема с русской кодировкой и её возможные решения

[ Ajax ] Проблема с русской кодировкой и её возможные решения, кто сталкнулся и как вы решили эту проблему для себя,

ajax скрипы без escape или простой способ преоброзовать полученую escape через php в нормальную кодировку.

(тем, кто сами писали под себя Ajax библиотеки и не использовали SAjax и другии решения, посвещяетца эта тема.)

цель темы: узнать кто и как справился с этой задачей, искодники приведствуютца.
 

WP

^_^
Хм, я написал свою AJAX-библеотеку лет 5 назад, как и положено было escaped, никаких проблем с русским не возникло (cp1251). Чем отличается запрос сделанный броузером при загрузке страница от того что делает JS?
P.S. если не можешь нормально написать так чтоб проблем не было, можешь на худой конец в base64 загнать.
 

PHP C/\OH

Новичок
я понимаю, но поставлю точнее задачи, проблема с отправки данных возникает тогда когда мы отправляем руские символы или спец символы такие как "&" или "?", если мы неэкранируем через escape то возникнет проблема или ещё хуже ашибка, и незабывайте о "крос-браузорности"

В IE такой проблемы ненаблюдаётца, но Ffox и Opera отпровляют данные в радной кодировки UTF-8, (но это не проблема Решеня:' iconv("UTF-8", "windows-1251", $text) '

Главная проблема, отправка html кода с кирилецей и спец символами через Ajax, и получение его в том же виде что и отправил без escape экранирования.
 

flash-vkv

Новичок
на xpoint.ru воспользовался советом через
_______________
encodeURIComponent(data);
_________________
себе делал только для оперы и FF, проблем не имел на этом и остановился
 

PHP C/\OH

Новичок
encodeURIComponent() - очень даже нечего, раскадировать через php не проблема. [Спасибо за совет, попробую поюзать потестить]

-~{}~ 14.05.06 19:54:

вот ещё отличный пример:
http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp

Example

In this example we use encodeURIComponent() to encode URIs:

<script type="text/javascript">

document.write(encodeURIComponent("http://www.w3schools.com"))
document.write("<br />")
document.write(encodeURIComponent("http://www.w3schools.com/p 1/"))
document.write("<br />")
document.write(encodeURIComponent(",/?:mad:&=+$#"))

</script>

The output of the code above will be:

http%3A%2F%2Fwww.w3schools.com
http%3A%2F%2Fwww.w3schools.com%2Fp%201%2F
%2C%2F%3F%3A%40%26%3D%2B%24%23

-~{}~ 14.05.06 21:56:

После теста функции encodeURIComponent():

Это функция решает только проблему с экранированием отправляемого кода, но не решает проблему с кодировкой, (Хотя-бы с одной проблемой экранирования спец символом разобрались и то дело =) )

+ encodeURIComponent()

PHP:
// Месив данный возрацяюший методом GET,  Ajax'сом в кодировке UTF-8
Array
(
    [m] =&gt; content
    [file_to_dir] =&gt; 1
    [file_name] =&gt; ajl:zagolovok:
    [file_title] =&gt; айл:Заголовок:
    [file_distribution] =&gt; айл:Заголовок:
    [file_keywords] =&gt; айл:Заголовок:
    [ajax] =&gt; cpage
    [file_type] =&gt; 2
    [file_to_maps] =&gt; 1
    [chek] =&gt; СЏ
    [rnd] =&gt; 9095308831892908
)
 

flash-vkv

Новичок
если в php включена библиотека php_mbstring.dll
то можно воспользоваться ее услугами
я делаю так
_______________
$this->ordU =(convert_cyr_string(mb_convert_encoding($_POST["ord"],"ISO-8859-5","utf-8"),"i","w"));
_____________________________
а других решений в сети достаточно, не раз встречал но необходимости не видел потому и не обрашал на них внемания
 
Сверху