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.
- если для передачи данных на сервер используется 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.