Помогите с адаптацией

Тема в разделе "PHP", создана пользователем UltrbI4, 24 дек 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. UltrbI4

    UltrbI4

    Регистр.:
    15 мар 2009
    Сообщения:
    449
    Симпатии:
    53
    Ребят есть саомписный скрипт мониторинга на php,Все номрально,но есть одна проблема,русский текст отображается каракулями,проблемы с кодировкой,в БД все перепробовали,без изменени,затем один апрнишка все-таки догадася,Что сделать и дал нам скрипт,но куда и как его внедрять не рассказывает,может кто-нибудь из вас нам поможет?
    Вот сам скрипт:
    Код:
       1.  <?php
       2.  
       3. function unicode($str)
       4. {
       5.     $cyrillic = array("А","Б","В","Г","Д","Е","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я","а","б","в","г","д","е","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","Ё","ё");
       6.     $unicode = array("А","Б","В","Г","Д","Е","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я","а","б","в","г","д","е","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","Ё","ё");
       7.     return str_replace($cyrillic, $unicode, $str);
       8. }
       9.  
      10.  
      11. ?>
    
    Парнишка сказал,что он обсолютно рабочий!
    :thenks::thenks::thenks: помогите плиз!
     
  2. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    628
    Симпатии:
    1.388
    Парнишка видать пару копеек хотел получить?
    Ваш код где? как без него можно подсказать вам куда его вставлять?
    Используется так:
    PHP:
    //$str = Текст, который необходимо перекодировать
    $str unicode($str);
    Хотя лучше пользоваться более удобным вариантом
    PHP:
    $str iconv("cp1251""utf8"$str);
    Но мне лично кажется что все же лучше исправить кодировку в базе, чем тыкать везде эту функцию...
     
  3. UltrbI4

    UltrbI4

    Регистр.:
    15 мар 2009
    Сообщения:
    449
    Симпатии:
    53
    Да все перепробовали в БД.Результатов 0!
    может ты подскажешь,где,что ковырнуть в БД?
     
    m0hze нравится это.
  4. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    628
    Симпатии:
    1.388
    Необходимо смотреть базу...
     
  5. UltrbI4

    UltrbI4

    Регистр.:
    15 мар 2009
    Сообщения:
    449
    Симпатии:
    53
    В базе стоит везде cp1251_general_ci
     
  6. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    628
    Симпатии:
    1.388
    Насколько я понимаю, сайт сам в utf8?
    Прописать
    PHP:
    mysql_query("SET NAMES 'utf8'");
    поможет.
     
  7. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    utf8 не нужно писать в апострофах
     
  8. sorcer

    sorcer Создатель

    Регистр.:
    21 фев 2009
    Сообщения:
    35
    Симпатии:
    4
    на сайте в заголовке стоит?:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    при коннекте в базе данных пропишите:
    PHP:
    mysql_query("set character_set_client='utf8'");
    mysql_query("set character_set_results='utf8'");
    mysql_query("set names 'utf8'"); 
    mysql_query("set collation_connection='utf8_general_ci'");
    Может быть не верные поля в базе
    если база не большая то вручную таблицы и поля в них ставим в utf8_general_ci
    (так же делал вручную таким образом: экспорт базы - автозаменой менял везде кодировку, после импорт. :D )
     
  9. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Вот это вообще бред полный. 1 Запрос:
    PHP:
    mysql_query("set names 'utf8'");
    Заменяет все это:
    PHP:
    mysql_query("set character_set_client='utf8'");
    mysql_query("set character_set_results='utf8'");
    mysql_query("set collation_connection='utf8_general_ci'");
    Читайте матчасть прежде чем раздавать советы.
     
    sorcer нравится это.
  10. sorcer

    sorcer Создатель

    Регистр.:
    21 фев 2009
    Сообщения:
    35
    Симпатии:
    4
    Дейстивтельно заменяет первые 2
    не заменяет:
    PHP:
    mysql_query("set collation_connection='utf8_general_ci'");
    для этого идёт:
    PHP:
    mysql_query("SET CHARACTER SET utf8 ");
    Хотя как пишут его указывать не нужно...
    Кстати кто то писал что без 2ого параметра, были проблемы проблемы при парсинге...
     
Статус темы:
Закрыта.