[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: JSON и символы перевода каретки(\"r\n")
mshdn
Столкнулся с такой проблемой
- если для передачи данных на сервер используется AJAX(JSON)
и передается многострочное поле <textarea>
 <script Language="JavaScript"> 
function savecomm(id){
sn='name'+id;
name=document.getElementById(sn).value;
sd='description'+id;
description=document.getElementById(sd).value;

jQuery.post('savecomment.php', {id:id,name:name,description:description},function(data){
if (data){
.....
}
}
,'JSON');

}
</script>


то в скрипте обработки формы savecomment.php
<?php
if(@$_POST['id']){

$description = $_POST['description'];
$description=iconv('utf-8','windows-1251',$description);
// $description =nl2br(htmlspecialchars($description )); // работает для json c UTF8
if(substr(PHP_OS,0,3)=='WIN') $n="\r\n"; else $n="\n";
$description =str_replace($n,'<br>',$description );
}
?>

не отрабатывает
$description =str_replace($n,'<br>',$description );
т.е. символы перевода каретки не заменяются на <br>,
т.е. при передаче через JSON с символами перевода каретки что-то происходит.

JSON нужен т.к. сайт и база Mysql используют windows-1251.



Спустя 1 час, 39 минут, 16 секунд (26.09.2011 - 13:35) Michael написал(а):
1) iconv ты неверно используешь. С какой на какую кодировку.
2) посмотри json_encode

Спустя 33 минуты, 53 секунды (26.09.2011 - 14:08) mshdn написал(а):
перекодировка $description=iconv('utf-8','windows-1251',$description);
не влияет,
$description = $_POST['description']; - здесь уже что-то не так, т.е. при JSON - передаче

Спустя 17 минут, 30 секунд (26.09.2011 - 14:26) Michael написал(а):
Пиши:
$description=iconv('windows-1251', 'utf-8', $description)

Спустя 19 минут, 16 секунд (26.09.2011 - 14:45) killer8080 написал(а):
Цитата (mshdn @ 26.09.2011 - 14:08)
$description = $_POST['description']; - здесь уже что-то не так, т.е. при JSON - передаче

А причём здесь JSON? Передача идёт post запросом, а json - это формат в котором сервер должен ответить на этот запрос.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.