Подскажите как включить функцию mb_internal_encoding().
Тестирую скрипт найденный на просторах интернета, на хостинге работает без проблем, под денвером не взлетает.
Выводится ошибка:
Fatal error: Call to undefined function mb_internal_encoding()
Как победить или как включить в php данную функцию?
Спустя 1 час, 10 минут, 19 секунд (19.10.2009 - 23:28) twin написал(а):
Надо поставить библиотеку mb
Спустя 7 часов, 30 минут, 54 секунды (20.10.2009 - 06:59) HIDDENSY написал(а):
А где её скачать, как установить, как подключить. Облазил сайт денвера, все оттуда скачал, все установил, а дальше то как?
Вообще данная библиотека относится к php или апачу? Мало информации в сети на данную тему, подскажите знающие по теме.
Вообще данная библиотека относится к php или апачу? Мало информации в сети на данную тему, подскажите знающие по теме.
Спустя 1 час, 10 минут, 33 секунды (20.10.2009 - 08:09) Michael написал(а):
Относится к PHP
Сам файл - php_mbstring.dll
Подключается в php.ini
Вот кусок оттуда
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
extension=php_mysqli.dll
[PHP_MBSTRING]
extension=php_mbstring.dll
[PHP_CURL]
extension=php_curl.dll
[PHP_GD2]
extension=php_gd2.dll
С денвером не работал, а просто повторно запустил инсталяху php и
добавил расширения - сами скопировалить в подкаталог ext каталога
установки php
Сам файл - php_mbstring.dll
Подключается в php.ini
Вот кусок оттуда
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
extension=php_mysqli.dll
[PHP_MBSTRING]
extension=php_mbstring.dll
[PHP_CURL]
extension=php_curl.dll
[PHP_GD2]
extension=php_gd2.dll
С денвером не работал, а просто повторно запустил инсталяху php и
добавил расширения - сами скопировалить в подкаталог ext каталога
установки php
Спустя 3 минуты, 43 секунды (20.10.2009 - 08:13) HIDDENSY написал(а):
Цитата (Michael @ 20.10.2009 - 05:09) |
Относится к PHP Сам файл - php_mbstring.dll Подключается в php.ini Вот кусок оттуда [PHP_MYSQL] extension=php_mysql.dll [PHP_MYSQLI] extension=php_mysqli.dll [PHP_MBSTRING] extension=php_mbstring.dll [PHP_CURL] extension=php_curl.dll [PHP_GD2] extension=php_gd2.dll С денвером не работал, а просто повторно запустил инсталяху php и добавил расширения - сами скопировалить в подкаталог ext каталога установки php |
Спасибо, сразу нашел, включил и взлетело на денвере.
Спустя 1 день, 2 часа, 1 минута, 6 секунд (21.10.2009 - 10:14) HIDDENSY написал(а):
после подключения данной библиотеки возникли проблемы с $get запросами на русском языке. Кодировка Windows-1251 на сайте используется.
Запрос типа:
index.php?query=поиск (ссылка на странице)
index.php?query=%EF%EE%E8%F1%EA (результат из адресной строки браузера)
не возвращает переменную query.
запрос index.php?query=search
работает корректно.
Подскажите как быть и что делать, каковы возможные варианта решения данного вопроса и собственно почему так перестало работать?
Запрос типа:
index.php?query=поиск (ссылка на странице)
index.php?query=%EF%EE%E8%F1%EA (результат из адресной строки браузера)
не возвращает переменную query.
запрос index.php?query=search
работает корректно.
Подскажите как быть и что делать, каковы возможные варианта решения данного вопроса и собственно почему так перестало работать?
Спустя 13 минут, 12 секунд (21.10.2009 - 10:27) glock18 написал(а):
переменные кодируются в утф8 в запросе. чтобы увидеть что-то, нужно конвертировать их в цп-1251. для этого используйте iconv или фунцию из набора mb_ (не помню называется, че-т с convert)
Спустя 40 минут, 36 секунд (21.10.2009 - 11:08) HIDDENSY написал(а):
Конвертнуть в адресную строку получается, а вот обратно использую тот же принцип нет. Возвращаются "кракозябры".
Спустя 6 минут, 14 секунд (21.10.2009 - 11:14) glock18 написал(а):
Код в студию
Спустя 5 минут, 32 секунды (21.10.2009 - 11:20) HIDDENSY написал(а):
строка запроса из браузера
/index.php?query=%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B8%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0
<?php
$query = $_GET["query"];
echo "Без обработки: ".$query."<br>";
$query1 = iconv("UTF-8", "Windows-1251", $_GET["query"]);
echo "UTF-8 -> Windows-1251: ".$query1."<br>";
$query2 = iconv("Windows-1251", "UTF-8", $_GET["query"]);
echo "Windows-1251 -> UTF-8: ".$query2."<br>";
?>
выводит:
Без обработки: B>20@8I5AB20
UTF-8 -> Windows-1251: B>20@8I5AB20
Windows-1251 -> UTF-8: B>20@8I5AB20
/index.php?query=%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B8%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0
<?php
$query = $_GET["query"];
echo "Без обработки: ".$query."<br>";
$query1 = iconv("UTF-8", "Windows-1251", $_GET["query"]);
echo "UTF-8 -> Windows-1251: ".$query1."<br>";
$query2 = iconv("Windows-1251", "UTF-8", $_GET["query"]);
echo "Windows-1251 -> UTF-8: ".$query2."<br>";
?>
выводит:
Без обработки: B>20@8I5AB20
UTF-8 -> Windows-1251: B>20@8I5AB20
Windows-1251 -> UTF-8: B>20@8I5AB20
Спустя 7 минут, 4 секунды (21.10.2009 - 11:27) glock18 написал(а):
код запрашивается через ajax или это обычная страничка?
Спустя 1 минута, 50 секунд (21.10.2009 - 11:29) HIDDENSY написал(а):
обычная страничка.
Спустя 8 минут, 39 секунд (21.10.2009 - 11:37) HIDDENSY написал(а):
Самое интересное в том, что если библиотеку отключить и перезапустить PHP, то все становится нормально и скрипт поиска начинает работать корректно, но отключается скрипт ради которого подключалась библиотека. Прям засада страшная, 2-й день победить не могу.
Спустя 58 минут, 29 секунд (21.10.2009 - 12:36) glock18 написал(а):
какую кодировку выставлешь mb_internal_encoding'ом ?
Спустя 12 минут, 32 секунды (21.10.2009 - 12:48) HIDDENSY написал(а):
Цитата (glock18 @ 21.10.2009 - 09:36) |
какую кодировку выставлешь mb_internal_encoding'ом ? |
PHP |
//$paramss['content'] = $textpage; //page content |
Спустя 28 минут, 46 секунд (21.10.2009 - 13:17) glock18 написал(а):
HIDDENSY
ммм... а в чем тогда вопрос? у тебя сайт в windows-1251, внутренняя кодировка в iso, а база данных еще в utf. Что за огород из кодировок?
ммм... а в чем тогда вопрос? у тебя сайт в windows-1251, внутренняя кодировка в iso, а база данных еще в utf. Что за огород из кодировок?
Спустя 6 минут, 26 секунд (21.10.2009 - 13:23) HIDDENSY написал(а):
Сайт без базы данных. Все на файлах txt, в них вся информация.
Кодировка используется на сайте windows-1251 и в файлах соответственно тоже.
Подключил я вышеупомянутый класс, потребовалась библиотека, запустил, отвалился поиск из за данного гласа.
Понимаю что дело все в кодировках, но победить самостоятельно не могу. Либо класс нужно переписывать без применения этой гнусной библиотеки, но тут я не селен. Все что смог сделал, класс ошибок не выдаёт, но и функции свои не выполняет, зато отвязано все и поиск работает.
В общем беда, помогите люди добрые, сами мы не местные, мануалы читали, книжки листали, код писали, не пашет эта дрянь.
Кодировка используется на сайте windows-1251 и в файлах соответственно тоже.
Подключил я вышеупомянутый класс, потребовалась библиотека, запустил, отвалился поиск из за данного гласа.
Понимаю что дело все в кодировках, но победить самостоятельно не могу. Либо класс нужно переписывать без применения этой гнусной библиотеки, но тут я не селен. Все что смог сделал, класс ошибок не выдаёт, но и функции свои не выполняет, зато отвязано все и поиск работает.
В общем беда, помогите люди добрые, сами мы не местные, мануалы читали, книжки листали, код писали, не пашет эта дрянь.
Спустя 3 минуты, 23 секунды (21.10.2009 - 13:27) glock18 написал(а):
Цитата |
у тебя сайт в windows-1251, внутренняя кодировка в iso |
мануалы плохо листали, еще полистайте что там за функция mb_internal_encoding такая...
Спустя 1 час, 41 минута, 57 секунд (21.10.2009 - 15:09) twin написал(а):
Цитата |
Либо класс нужно переписывать без применения этой гнусной библиотеки |
надо переписывать без применения гнусной кодировки (windows-1251)
Спустя 49 минут, 35 секунд (21.10.2009 - 15:58) HIDDENSY написал(а):
Помогите это сделать. Я удалил все что относилось к библиотеки mb_ , скрипт перестал вообще что либо выдавать. В сети перерыл массу информации, но достойней варианта данной библиотеки не нашел, поэтому шибко надо её корректно запустить.
Продублирую класс в данной ветке, потому как считаю, что это лучшее из того что в сети в свободном доступе, но без напильника никак.
Продублирую класс в данной ветке, потому как считаю, что это лучшее из того что в сети в свободном доступе, но без напильника никак.
PHP |
<?php |
Есть правда еще 4-я версия этого класса, но там небольшие корректировки.