Как научиться русификации php-скриптов?

Тема в разделе "Как сделать...", создана пользователем seryoga, 12 сен 2006.

Статус темы:
Закрыта.
  1. seryoga

    seryoga Создатель

    Регистр.:
    12 сен 2006
    Сообщения:
    17
    Симпатии:
    33
    Хочу русифицировать php-скрипт но не знаю, то делать; места в файлах где было charset-utf8 я поменял на charset-windows1251 но это мне не помогло.Дело в том, то вводимый русский текст ложится в файлы MySQL-базы и там он отображается (phpmyAdmin) даже не кракозябрами, a например вот так : ;ран&#1072.
    Как с этим бороться?
     
  2. AntoNEO

    AntoNEO Писатель

    Регистр.:
    8 апр 2006
    Сообщения:
    5
    Симпатии:
    5
    уже нашел 1 ошибку:
    windows-1251 =)

    То что ты прописал в файлах виндовс-1251 - это всего лишь "приказ" браузеру отображать видимый текст в такой кодировке...
    Переведи сам mysql на windows-1251 или ср1251

    Если с мускуло разберешься, но текст у тебя будет виден в виде ????????????????? ??? ? ????? - и т.п., то найди файл, который коннектиться к бд и перед коннектом пропиши:
    echo(mysql_query("set character_set_client='cp1251'"));
    mysql_query("set character_set_results='cp1251'");
    mysql_query("set collation_connection='cp1251_general_ci'");
     
  3. AeroWave

    AeroWave

    Регистр.:
    9 май 2006
    Сообщения:
    209
    Симпатии:
    11
    Складывай в UTF-8, пожалуйста! :)
    И ещё:
    echo(mysql_query("set character_set_client='cp1251'"));

    Так не стоит... А то взорвётся скрипт. :)
     
  4. AntoNEO

    AntoNEO Писатель

    Регистр.:
    8 апр 2006
    Сообщения:
    5
    Симпатии:
    5
    ну не знаю =) у мя ниче не взорвалось.
    я когда бд конвертировал из ipb в vbulletin, то у мя фигня с отображением случилась... вместо русских букв были одни ?????? ?? ????
    =)
    мне помогло то, что я тебе выше написал =)
     
  5. AeroWave

    AeroWave

    Регистр.:
    9 май 2006
    Сообщения:
    209
    Симпатии:
    11
    Объясню.
    echo(mysql_query("set character_set_client='cp1251'"));
    Это НЕ правильно.
    если уж писать, то:
    mysql_query("set character_set_client='cp1251'");
     
  6. morgan_spb

    morgan_spb Постоялец

    Регистр.:
    15 сен 2006
    Сообщения:
    55
    Симпатии:
    1
    проверь какой функцией загоняется текст в базу данных
    в старом куби были такие же проблемы, пришлось функцию обработки строки менять
    htmlspec ... что то там уже не помню
     
  7. seryoga

    seryoga Создатель

    Регистр.:
    12 сен 2006
    Сообщения:
    17
    Симпатии:
    33
    В своем случае долго искал, но не нашел кодировку, прописанную в php-файлах, в которой должен ложиться текст в базу.
    Пока что заменил в html-файлах чарсеты на windows-1251, а в базе для каждой таблицы прописал
    ALTER TABLE `xxxxx` DEFAULT CHARACTER SET = cp1251;
    кодировку самой базы тоже поменял на cp1251. После этого глюки не замечаются.
     
Статус темы:
Закрыта.