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

Форум PHP

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

 

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

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

тема: Проблема с кодировкой на Ajax
 
 автор: Оксана   (31.08.2009 в 11:36)   письмо автору
1.5 Кб
 
 

Помогите пожалуйста со следующей проблемой: Имеется форма в которую пользователь вводит текст, этот текст записывается в текстовый файл и с помощью Ajax выводится на странице. Если пользователь вводит русские символы, то почему то кодировка не поддерживается и выводятся каракули на странице, но в файл записываются нормальные символы. Имеется 2 файла index.php и testpost.php. Содержимое файла testpost.php пишу ниже, а файл index.php прикреплю к сообщению.
testpost.php:
<?php
header('Content-type: text/html; charset=utf-8');
header('Content-Language: ru');
if (isset($_POST['in']))
echo strtoupper($_POST['in']);

$file = fopen("text.txt", "w");
fputs($file, $_POST["in"]);
fclose($file);
?>

  Ответить  
 
 автор: Trianon   (31.08.2009 в 12:04)   письмо автору
 
   для: Оксана   (31.08.2009 в 11:36)
 

strtoupper зачем? оставьте просто echo $_POST['in'];

strtoupper работает только при корректно настроенной локали.

  Ответить  
 
 автор: Оксана   (31.08.2009 в 12:41)   письмо автору
 
   для: Trianon   (31.08.2009 в 12:04)
 

Trianon, и правда заработало спасибо огромное))) Но всё таки скажи еще пжта, а как настроить эту локаль, чтобы даже такая функция заработала, какие опции прописать?

  Ответить  
 
 автор: sim5   (31.08.2009 в 12:52)   письмо автору
 
   для: Оксана   (31.08.2009 в 12:41)
 

Используйте mb_strtoupper() вместо strtoupper

  Ответить  
 
 автор: Николай2357   (31.08.2009 в 12:57)   письмо автору
 
   для: sim5   (31.08.2009 в 12:52)
 

Дык не хочет с кирилицей...

  Ответить  
 
 автор: sim5   (31.08.2009 в 13:17)   письмо автору
 
   для: Николай2357   (31.08.2009 в 12:57)
 

Как это не хочет? Куда оно денется?
<?
$s 
"пример";
header('Content-type: text/html; charset=utf-8');
echo 
$s."<br>";
echo 
mb_strtoupper($s,"utf-8");

  Ответить  
 
 автор: Trianon   (31.08.2009 в 13:37)   письмо автору
 
   для: sim5   (31.08.2009 в 13:17)
 

такой пример нужно приводить в аттаче.

  Ответить  
 
 автор: sim5   (31.08.2009 в 13:40)   письмо автору
 
   для: Trianon   (31.08.2009 в 13:37)
 

Что, длинный слишком? )

  Ответить  
 
 автор: Trianon   (02.09.2009 в 18:18)   письмо автору
 
   для: sim5   (31.08.2009 в 13:40)
 

Неустойчивый к переносу в виде текста.

  Ответить  
 
 автор: Николай2357   (31.08.2009 в 12:50)   письмо автору
 
   для: Trianon   (31.08.2009 в 12:04)
 

>strtoupper работает только при корректно настроенной локали.
А можно по подробнее это место? Дело в том, что у меня ни разу не получилось выставить локаль, что бы strtoupper, strtolower, mb_strtoupper и mb_strtolower корректно работали с кирилицей под utf-8. В чем тут секрет?

  Ответить  
 
 автор: mihdan   (02.09.2009 в 18:14)   письмо автору
 
   для: Николай2357   (31.08.2009 в 12:50)
 

А как вы пробовали выставить локаль?

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

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