|
|
|
| Люди возникли проблемы с кодировкой, подозреваю что из за вот это строки!
$search = preg_replace('/%u([0-9A-F]{2})([0-9A-F]{2})/sei', 'iconv("UCS-2BE", "WINDOWS-1251", "\x$1\x$2")', $_GET["search"]);
кто нибудь может обьяснить что в ней выполняеться??? | |
|
|
|
|
|
|
|
для: _deniska_
(27.12.2008 в 02:32)
| | iconv("UCS-2BE", "WINDOWS-1251", "\x$1\x$2") вроде не должна быть в кавычках. Это же функция перекодировки. | |
|
|
|
|
|
|
|
для: amigo62
(27.12.2008 в 18:09)
| | И почему она не должна быть в кавычках, если функция перекодировки? | |
|
|
|
|
|
|
|
для: _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...... | |
|
|
|
|
|
|
|
для: xx77
(27.12.2008 в 20:04)
| | берёться из тектового поля, а почему не достаточно самому интересно, поэтому и спросил, может кто знает какой смысл может быть заложен в этой строке | |
|
|
|
|
|
|
|
для: _deniska_
(27.12.2008 в 20:17)
| | в какой кодировке страница с формой ? | |
|
|
|
|
|
|
|
для: xx77
(27.12.2008 в 20:36)
| | страница в windows 1251 | |
|
|
|
|
|
|
|
для: xx77
(27.12.2008 в 20:04)
| | похоже и правда какие-то нестыковки с тем какую кодировку присылает у меня опера
и какую присылают FF и IE
мой вариант работает только в опере а тот первый в IE и FF
(если вводить $search вручную в адрессной строке)
перекодируйте до отправки, если такое возможно
// вернее urlcod'ируйте | |
|
|
|
|
|
|
|
для: xx77
(27.12.2008 в 20:26)
| | Прикол в том что Опера посылает в хидере кодировку iso, а фаерфокс windows 1251! вот у меня в фаерфоксе работает правильно а в опере нивкакую | |
|
|
|
|
|
|
|
для: 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'];
?>
| если страница посылающая и принимающая в одной и той-же кодировке | |
|
|
|
|
|
|
|
для: xx77
(27.12.2008 в 20:45)
| | у меня почему то опера посылает в iso | |
|
|
|
|
|
|
|
для: _deniska_
(27.12.2008 в 20:52)
| | Настройки ->Дополнительно->Сеть->Кодировать международные адреса в UTF-8
наверное просто у меня там стоит отмечено
напугали всех своим preg_replace ;) | |
|
|
|
|
|
|
|
для: xx77
(27.12.2008 в 21:03)
| | у меня тоже так отмечено | |
|
|
|