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

Форум PHP

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

 

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

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

тема: Функция htmlspecialchars
 
 автор: PantiL   (08.01.2005 в 16:12)   письмо автору
 
 

Результат обработки строки написанной кирилицей получается в юникодах, как этого избежать или перевести строку в первоначальное состояние

   
 
 автор: cheops   (08.01.2005 в 16:20)   письмо автору
 
   для: PantiL   (08.01.2005 в 16:12)
 

Не должно быть так... ничего кроме htmlspecialchars() больше не используется? При работе с UNICODE как это не странно следует использовать либо свою собственную функцию http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=819, либо библиотеку iconv (она к сожалению не везде доступна http://www.softtime.ru/group/id_group=11).

   
 
 автор: PantiL   (08.01.2005 в 16:25)   письмо автору
 
   для: cheops   (08.01.2005 в 16:20)
 

Извините! Недосказал. Функция в качестве параметра принимает результа от stripslashes() . Это из-за нее да?
Ладно обратые слэши и без этой функции удалю.
Спасибо!

   
 
 автор: cheops   (08.01.2005 в 16:29)   письмо автору
 
   для: PantiL   (08.01.2005 в 16:25)
 

Нет из-за stripslashes() вряд ли... преобразование в UTF происходит в том случае если используются какие-либо расширения для упаковки данных в xml-формат... Вообще при работе с xml почти со 100% вероятностью данные рано или поздно конвертятся в UTF, но там как раз имеются встроенные функции для преобразования из UTF и в UTF...

   
 
 автор: PantiL   (08.01.2005 в 17:02)   письмо автору
 
   для: cheops   (08.01.2005 в 16:29)
 

Короче, я так и не понял кто там виноват.
убрал stripslashes - стало нормально работать. Смирился.
Через некоторое время опять та же проблема, хотя я код не менял. :)
ниииичего не понимаю ....

   
 
 автор: cheops   (08.01.2005 в 18:12)   письмо автору
 
   для: PantiL   (08.01.2005 в 17:02)
 

Может хостер новую версию PHP ставит - компилит, пробует, опять компилит?

   
 
 автор: glsv (Дизайнер)   (08.01.2005 в 22:43)   письмо автору
 
   для: PantiL   (08.01.2005 в 16:12)
 

Воспроизвел ситацию у себя. Вроде все нормально... Ничего необычного.
<?
  $str 
"Кириллица";
  
$str stripslashes($str);
  
$str htmlspecialchars($str);
  echo 
$str;  
?>


PS: А только одна строка (прошедшая обработку) перекодирована в Unicode? Кодировка остального текста на странице нормальная?

   
 
 автор: PantiL   (09.01.2005 в 00:10)   письмо автору
 
   для: glsv (Дизайнер)   (08.01.2005 в 22:43)
 

Все дела происходят на локалхост.
Я так и не разобрался кто виноват. И от чего все зависит - но теперь все работает......
Единственное на что грешу, хоть и непонял какая связь - пробовал просматривать результат скрипта через разные браузеры - (Опера 7.50b и IE 6.0) неправильная работа наблюдается только в Опере, что самое интересно не всегда.
Если даже предположить что браузер косячит, тогда почему записываю ту же строку в файл, пишется так же как и отображается (когда как - когда в юнискоде, когда нормально)

   
 
 автор: Akira   (09.01.2005 в 01:33)   письмо автору
 
   для: PantiL   (09.01.2005 в 00:10)
 

Браузер не может косячить =) Но только выводит информацию =))
Косячит сервер =) Сам на Локалке глюков хватаю полный рот =Р
И вопрос а какая разница =) Ведь все равно кирилицу отображает =Р

   
 
 автор: glsv (Дизайнер)   (09.01.2005 в 02:08)   письмо автору
 
   для: Akira   (09.01.2005 в 01:33)
 

Как показывает практика, "косячить" может все без исключения. И браузер тут далеко не самое сильное звено.

И зачастую, каждое звено в отдельности работает безупречно. Но вот как только объединяешь "безупречные" звенья в единую сеть - начинается бедлам.

   
 
 автор: glsv (Дизайнер)   (09.01.2005 в 02:04)   письмо автору
 
   для: PantiL   (09.01.2005 в 00:10)
 

>неправильная работа наблюдается только в Опере, что самое интересно не всегда.
Тогда, скорее всего, проблема с кодировками. Вернее с их непониманием. Может проблема в Opere, а может в настройках сервера.
Так у Вас есть другая информация на странице? Или только перекодированная строка?
Я к тому веду: только одна строчка неверная или неверная кодировка у всей страницы?

   
 
 автор: PantiL   (12.01.2005 в 13:16)   письмо автору
 
   для: glsv (Дизайнер)   (09.01.2005 в 02:04)
 

Неверная строчка только та что выводится скриптом, все остальноое нормально. Опера скорее всего не виновата потому что , если бы только отображало неверно ,но ведь и в файл пишется неверно.

   
 
 автор: glsv (Дизайнер)   (12.01.2005 в 14:16)   письмо автору
 
   для: PantiL   (12.01.2005 в 13:16)
 

Хм…
Если Вы говорите, что глюки только в одном браузере, то это явно указывает на глюки браузера. А если только одна строчка в краказяблах, а остальной текст нормальный, то это указывает, что браузер ни при чем, а проблема на сервере.
Да… парадокс…

PS: а не прикрепите свой скрипт в форум? Глянул бы как у меня пойдет.

   
Rambler's Top100
вверх

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