За последние 24 часа нас посетили 22813 программистов и 1272 робота. Сейчас ищут 711 программистов ...

Проблемы с mbstring, как на русский его динамически настроит

Тема в разделе "Прочие вопросы по PHP", создана пользователем Kill, 28 фев 2006.

  1. Kill

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

    С нами с:
    28 фев 2006
    Сообщения:
    4
    Симпатии:
    0
    Проблемы с mbstring, весь инет перелазил, как на русский его динамически настроить так и не нашел?

    если кто знает напишите
    или если линк будет тож сойдет
     
  2. wolandino

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

    С нами с:
    5 фев 2006
    Сообщения:
    193
    Симпатии:
    0
    Адрес:
    Россия, Астрахань
  3. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
  4. Kill

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

    С нами с:
    28 фев 2006
    Сообщения:
    4
    Симпатии:
    0
    Спасибо за линки
    но не работает нормально

    то что в мануале читал до этого
    но в реале когда пытался вписать в ини файл настройки заменив япоснский на русский не получалось ни фига
    или php сам не работал или снова ничего не делал


    под линуксом наверное проблем меньше, там скопмилировать нужно. Но у меня винда, и тут приходится динамически менять, то есть снова php.ini залазить, а то что там написано для японского при переделках на русские кодировки не катило, наверное неправильно чето делал.

    если у кого есть часть php.ini с готовыми настройками для mbstring для русского языка киньте плиз.
     
  5. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    $CODE = 'CP1251';

    ini_set('mbstring.internal_encoding',$CODE);
    ini_set('mbstring.detect_order',$CODE);
    ini_set('mbstring.encoding_translation','on')
     
  6. Kill

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

    С нами с:
    28 фев 2006
    Сообщения:
    4
    Симпатии:
    0
    спасибо

    сейчас попробую

    как я понял это в сам php файл вставлять, не в php.ini

    в php ламер еще, всю жизнь на перле работал, сейчас только php осваиваю
     
  7. Kill

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

    С нами с:
    28 фев 2006
    Сообщения:
    4
    Симпатии:
    0
    к сожалению опять не помогло

    лучше будет если подробно изложу проблему


    есть два сервера с установленными php 4. 3. 11 и mysql 4.025
    один сервер на линуксе, дедикатед купленный, второй свой на винде

    через phpmyadmin пытался поставить базу майскловскую с данными, база предварительно с другого сервера експортирована.
    на линуксе все бес проблем, с русским языком нет проблем, при просмотре можно спокойно читать русские строки в таблицах. Но в настройках php на линуксе стоит
    mbstring
    Multibyte Support enabled
    Japanese support enabled
    Simplified chinese support enabled
    Traditional chinese support enabled
    Korean support enabled
    Russian support enabled
    Multibyte (japanese) regex support enabled

    и

    './configure' '--enable-static' '--with-iconv' '--enable-mbstring' '--with-mbstring=all' '--enable-mbstr-enc-trans' '

    на винде этих мбстринговских настроек при компиляции нет

    на винде бардак стоит, то есть при вставке данных через phpmyadmin если кодировка утф-8 то вставляется, но абра кадабру вытаскивает. При этом хотя и через майадмин ни хера по русски не прочитаешь, перл читает по русски те же самые абракадабрашные данные бес проблем, при выборке их из абракадабрашной таблицы.
    И еще експортированная база хотя и с русским текстом была но кодировка вестерн была.

    если предварительно кодировку в вестерн перевести , то русские буквы видны, но только на линуксовом сервере с поддержкой мбстринг.
    на линуксе та же самая проблема была решена когда в момент загрузки таблицы с русским текстом выбиралась кодировка браузера вестерн

    на винде при этом и такой же манере решения дает ошибку
    Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in E:\home\localhost\www\phpmyadmin\libraries\string.lib.php on line 117

    Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in E:\home\localhost\www\phpmyadmin\libraries\string.lib.php on line 117

    Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in E:\home\localhost\www\phpmyadmin\libraries\string.lib.php on line 117


    В общем подытоживая проблему, из-за неработающего нормально мбстринга в пхпмайадмине ни одной русской буквы не видно, а таблица с русскими символами при загрузке загружается только при кодировке утф-8(на линуксе при работаюшем мбстринге и при других кодировках), а при этой самой утф8 ни хера загруженного не прочитаешь, и трудно в большой майсколвской таблице ориентироваться


    конечно проблема можно в какойто мере проигнорировать и на линуксе работать, но думаю это проблема не только моя но и вообще проблема поддержки языка в пхп. Японцы во как быстро проблему решили (кстати они и этот мбстринг кажись и придумали), а у нас пока нет.



    Добавлю
    прошу прошения
    на винде php 5.0.5
    но и четверку ставил и снова проблема повторялась