Проблема с перекодировкой

Статус
В этой теме нельзя размещать новые ответы.

no_santa

Снегур
Проблема с перекодировкой

Есть функция
PHP:
   function win2uni($char) {
   $code = ord($char);
   if ($code > 128) {
	$code = $code + 848;
	}
        $string = '';
        if ($code < 128) {
            // its an ASCII char no encoding needed
            $string .= chr($code);
        } elseif ($code < 1 << 11) {
            // its a 2 byte UTF-8 char
            $string .= chr(192 + ($code >> 6));
            $string .= chr(128 + ($code & 63));
        } elseif ($code < 1 << 16) {
            // its a 3 byte UTF-8 char
            $string .= chr(224 + ($code >> 12));
            $string .= chr(128 + (($code >> 6) & 63));
            $string .= chr(128 + ($code & 63));
        } elseif ($code < 1 << 21) {
            // its a 4 byte UTF-8 char
            $string .= chr(240 + ($code >> 18));
            $string .= chr(128 + (($code >> 12) & 63));
            $string .= chr(128 + (($code >>  6) & 63));
            $string .= chr(128 + ($code & 63));
        } elseif ($code < 1 << 26) {
            // its a 5 byte UTF-8 char
            $string .= chr(248 + ($code >> 24));
            $string .= chr(128 + (($code >> 18) & 63));
            $string .= chr(128 + (($code >> 12) & 63));
            $string .= chr(128 + (($code >> 6) & 63));
            $string .= chr(128 + ($code & 63));
        } else {
            // its a 6 byte UTF-8 char
            $string .= chr(252 + ($code >> 30));
            $string .= chr(128 + (($code >> 24) & 63));
            $string .= chr(128 + (($code >> 18) & 63));
            $string .= chr(128 + (($code >> 12) & 63));
            $string .= chr(128 + (($code >> 6) & 63));
            $string .= chr(128 + ($code & 63));
        }

        return $string;
    }
всем хороша, кроме того, что вместо символов
№ &laquo; &raquo; выдает конкретные кракозябры.

Как исправить?

Заранее спасибо тем, кто в ман не послал, или послал в точное место мана ;)

-~{}~ 30.04.08 17:58:

в т.ч. символ "номер" - №
 

no_santa

Снегур
Исчезает POST

реализовано ЧПУ через 404 ошибку.
Суть проблемы - при переходе со страницы на страницу через submit формы нахрен сносится весь $_POST, причем он isset($_POST) = TRUE и

-~{}~ 30.04.08 18:26:

Реализовано ЧПУ через 404 ошибку.
Есть страничка 404.php, на которую непосредственно ссылаюсь в настройках сервера, как на обработчик ошибки 404. Этот скрипт анализирует строку запроса, ориентируется в ситуации и инклудит то, что надо. Т.е. дальнейших переадресаций нет.

Суть проблемы - при переходе со страницы на страницу 404.php через submit формы нахрен сносится весь $_POST, причем он isset($_POST) => TRUE и empty($_POST) => FALSE. Но при обращении к элементам пусто, т.е. isset($_POST['somename']) => FALSE
$_GET поймал, парся строку запроса, с ним все нормально.

Что делать с $_POST ?

-~{}~ 30.04.08 18:28:

Фaнат а ты когда скрипты пишешь, на 100% являешься автором кода? Я грешу в 10-15% случаев, больно проект большой получается.... :(

-~{}~ 30.04.08 18:28:

извините за офтоп - страничку перепутал.....
 

Фанат

oncle terrible
Команда форума
еще раз, для непонятливых.
не понимаешь, как работает - ищи другую.
 

no_santa

Снегур
***** еще раз для слепых - ВЗЯЛ БЫ ДА ПОКАЗАЛ. Слабо?

Вот ты обрати внимание - большая часть трепа на форуме (20-30% от всего объема) порождается воплями новичков ЧИСТО в ответ на ТВОЮ "сверхобъективную" критику. Может, тебе надо быть помягче? Может, не стоит самому треп порождать? В конечном итоге это благоприятно скажется на релевантности форума. Как ты думаешь?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху