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

Форум PHP

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

 

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

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

тема: Нужна помошь с кодировкой
 
 автор: _deniska_   (27.12.2008 в 02:32)   письмо автору
 
 

Люди возникли проблемы с кодировкой, подозреваю что из за вот это строки!
$search = preg_replace('/%u([0-9A-F]{2})([0-9A-F]{2})/sei', 'iconv("UCS-2BE", "WINDOWS-1251", "\x$1\x$2")', $_GET["search"]);

кто нибудь может обьяснить что в ней выполняеться???

  Ответить  
 
 автор: amigo62   (27.12.2008 в 18:09)   письмо автору
 
   для: _deniska_   (27.12.2008 в 02:32)
 

iconv("UCS-2BE", "WINDOWS-1251", "\x$1\x$2") вроде не должна быть в кавычках. Это же функция перекодировки.

  Ответить  
 
 автор: Trianon   (27.12.2008 в 18:30)   письмо автору
 
   для: amigo62   (27.12.2008 в 18:09)
 

И почему она не должна быть в кавычках, если функция перекодировки?

  Ответить  
 
 автор: xx77   (27.12.2008 в 20:04)   письмо автору
 
   для: _deniska_   (27.12.2008 в 02:32)
 

>
<?
preg_replace
('/%u([0-9A-F]{2})([0-9A-F]{2})/sei''iconv("UCS-2BE", "WINDOWS-1251", "\x$1\x$2")'$_GET["search"]);

откуда берётся это $_GET["search"] ?
почему не достаточно простого $search = iconv('utf-8', 'cp1251', $_GET['search']); ?

//выполняется то что строка должна приходить в формате ?search=%u0D51%u0D52......

  Ответить  
 
 автор: _deniska_   (27.12.2008 в 20:17)   письмо автору
 
   для: xx77   (27.12.2008 в 20:04)
 

берёться из тектового поля, а почему не достаточно самому интересно, поэтому и спросил, может кто знает какой смысл может быть заложен в этой строке

  Ответить  
 
 автор: xx77   (27.12.2008 в 20:36)   письмо автору
 
   для: _deniska_   (27.12.2008 в 20:17)
 

в какой кодировке страница с формой ?

  Ответить  
 
 автор: _deniska_   (27.12.2008 в 20:39)   письмо автору
 
   для: xx77   (27.12.2008 в 20:36)
 

страница в windows 1251

  Ответить  
 
 автор: xx77   (27.12.2008 в 20:26)   письмо автору
 
   для: xx77   (27.12.2008 в 20:04)
 

похоже и правда какие-то нестыковки с тем какую кодировку присылает у меня опера
и какую присылают FF и IE
мой вариант работает только в опере а тот первый в IE и FF
(если вводить $search вручную в адрессной строке)

перекодируйте до отправки, если такое возможно
// вернее urlcod'ируйте

  Ответить  
 
 автор: _deniska_   (27.12.2008 в 20:40)   письмо автору
 
   для: xx77   (27.12.2008 в 20:26)
 

Прикол в том что Опера посылает в хидере кодировку iso, а фаерфокс windows 1251! вот у меня в фаерфоксе работает правильно а в опере нивкакую

  Ответить  
 
 автор: xx77   (27.12.2008 в 20:45)   письмо автору
 
   для: xx77   (27.12.2008 в 20:26)
 

Вообще-то всё просто ;)

никаких %u там не было , прогсто все кроме оперы посылали текст в кодировке виндовс , а опера utf

всё должно работать если страница с формой в кодировке UTF
// с простым iconv() без всяких preg_replace


или
<?
header
('content-type:text/html; charset=utf-8');
?>
<form action="" >
<input type="text" name="x" value="апролджэ"/>
<input type="submit" value="апролджэ"/>
</form>
<pre><?
if (isset($_GET['x'])) echo $_GET['x'];
?>
если страница посылающая и принимающая в одной и той-же кодировке

  Ответить  
 
 автор: _deniska_   (27.12.2008 в 20:52)   письмо автору
 
   для: xx77   (27.12.2008 в 20:45)
 

у меня почему то опера посылает в iso

  Ответить  
 
 автор: xx77   (27.12.2008 в 21:03)   письмо автору
 
   для: _deniska_   (27.12.2008 в 20:52)
 

Настройки ->Дополнительно->Сеть->Кодировать международные адреса в UTF-8
наверное просто у меня там стоит отмечено

напугали всех своим preg_replace ;)

  Ответить  
 
 автор: _deniska_   (27.12.2008 в 21:06)   письмо автору
 
   для: xx77   (27.12.2008 в 21:03)
 

у меня тоже так отмечено

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

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