За последние 24 часа нас посетили 18379 программистов и 1605 роботов. Сейчас ищут 938 программистов ...

Кодировка и фунцкия iconv

Тема в разделе "PHP для новичков", создана пользователем Iven, 4 май 2009.

  1. Iven

    Iven Активный пользователь

    С нами с:
    4 май 2009
    Сообщения:
    19
    Симпатии:
    0
    сайт joomla в utf форум ipb в win1252
    бд одна для всех в utf - если просматривать ее то сайт пишет читаемо а форум крякозябриками (в win 1252 похоже)
    на форуме отображается все нормально
    но на сайте есть меню пользователя и там приветствие с именем - имя отобржается не корректно

    пытался делать так

    $usser = $user->get('name');
    echo $usser; echo "__1__";
    echo iconv("windows-1252", "UTF-8", $usser); echo "__2__";
    echo iconv("ASCII//TRANSLIT", "UTF-8", $usser); echo "__3__";

    $q = 'EaieoioeaAinouIa?aaiiue';
    $s = mb_detect_encoding($q);//Определяем кодировку
    $q = iconv($s, 'UTF-8', $q);//Декодируем
    echo $s;echo "__4__";

    echo $q;echo "__5__";


    $q = $user->get('name');
    $s = mb_detect_encoding($q);//Определяем кодировку
    $q = iconv($s, 'UTF-8', $q);//Декодируем
    echo $s;echo "__6__";

    echo $q;echo "__7__";

    получаем


    ÊàïèòîøêàÃîñòüÍåæäàííûé__1__Êà ïèòîøêà ÃîñòüÃ__2____3__ASCII__4__EaieoioeaAinouIa?aaiiue__5__UTF-8__6__ÊàïèòîøêàÃîñòüÍåæäàííûé__7__


    3 вариант пустой - видно что-то не так с названием кодировки анси

    а изначально вообще это слово КапитошкаГостьНежданный )


    ну и заодно если получится разобратся с данной непонятной кодировкой было бы не плохо узнать как указывать в какой кодировке отправлять данные post-ом в исходящей форме
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    вообще-то, кириллица — это cp1251
     
  3. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    И что это значит?

    Если у Вас кодировка в базе UTF-8, то значит нужно конвертировать из неё в windows-1251.
     
  4. Iven

    Iven Активный пользователь

    С нами с:
    4 май 2009
    Сообщения:
    19
    Симпатии:
    0
    luge
    нда...
    сменил на 1251 - получаемс Êà ïèòîøêà ÃîñòüÍåæäà Гíûé
    не понятно в общем в чем оно пишет в бд

    Kreker
    кхм еще раз на счет бд - вся бд в utf но корректно туда закписывается инфа только с сайта та часть которая мне нужна в бд записывается также не читаемо как и выводится на сайте
    тоесть вывод из бд совершенно адекватен ) - как там крякозябрики так и при выводе НО на форуме то все отображается нормально
     
  5. Iven

    Iven Активный пользователь

    С нами с:
    4 май 2009
    Сообщения:
    19
    Симпатии:
    0
    слов нет )
    кто бы мне объяснил данную схему найденную опытным путем

    $usr = $user->get('name');
    $ussr = iconv("UTF-8", "windows-1252", $usr); - это нормально отображается если включить в браузере просмотр сайта в win1251
    $usssr = iconv("windows-1251", "UTF-8", $ussr);
    echo $usssr;

    а в результате всей этой схемы начинает нормально показывать в utf )

    ну и остался поднятый вопрос на счет post-a
    как бы данную схему применитьть в обратном порядке для исходящей формы а не приемника