|
|
|
|
|
для: sim5
(03.08.2008 в 18:45)
| | Исчерпывающе.
Буду общаться с хостинг-провайдером.
Большое спасибо всем, уделившим внимание вопросу! | |
|
|
|
|
|
|
|
для: Anwor
(03.08.2008 в 18:15)
| | Да чем она может грозить, ничем. Чем вызвано ее отключение у вас, не знаю, единственно, если это как раз тот случай как сказано в ТУ на РНР :)
"Функция iconv() на некоторых системах работает не так хорошо, как можно ожидать. В этом случае вы должны установить библиотеку libiconv." | |
|
|
|
|
|
|
|
для: sim5
(03.08.2008 в 16:42)
| | мммм.. понятно.. Спасибо за разъяснение. Хотя оно меня и не радует.. Тогда вопрос в принципе последний: кто-нибудь может помочь со статистикой, насколько часто вообще может встречаться такой случай, когда отключают эту функцию, что указывать в саппортинговой документации к проектам, использующим iconv()? Чем потенциально может грозить серверу включение этой функции? Хотел бы заправиться информацией, чтобы побеседовать с хостером уже будучи "подкованным" в вопросе... | |
|
|
|
|
|
|
|
для: Anwor
(03.08.2008 в 16:14)
| | Даже и не знаю, какой директивой можно запретить использование iconv, если только не указать явно функцию в disable_functions. А работа с мультибайтными строками, требует наличия и подключения расширения php_mbstring.dll. Если вы сами не имете возможности подключения расширений, то к хостеру в любом случае. | |
|
|
|
|
|
|
|
для: Anwor
(02.08.2008 в 12:54)
| | up плизззз! очень волнует решение этого вопроса! =( | |
|
|
|
|
|
|
|
для: waptanet
(02.08.2008 в 11:46)
| | 2 waptanet:
Да да, именно disable_functions фигурирует в phpinfo(). Откровенно говоря, не очень хорошо понимаю мотивов возможной блокировки этой функции... Очень не хотелось бы быть так жестко увязанным на дурацкой директиве php.ini, от чего сайт не сможет быть просто и безболезненно перенесен на реальный сервер. Подскажите, пожалуйста, каков принцип использования mbstring, и выигрышен ли он в этом отношении (имею в виду потенциальное отключение функции на серверах)?
На всякий случай приведу кусочек своего скрипта, и что я добиваюсь этим с помощью iconv():
<?php
//данные пересылаются через XmlHttpRequest,
//на стороне джаваскрипта как известно все конвертится в utf-8
//на принимающем серверном скрипте перед обработкой массива POST
//применяю такую обработку:
foreach($_POST as $k=>$value) {
$_POST[$k]=iconv('UTF-8','windows-1251',urldecode($value));
}
//в противном случае все кириллические строки выводятся в виде
//ѕСвР....
?>
|
Каков аналог этого действия может быть с использованием mbstring?
2 sp10:
> В начале скрипта:
> iconv_set_encoding('internal_encoding','UTF-8');
Я хотел бы попробовать все возможные варианты, конечно, но имеет ли вообще смысл пытаться пользоваться iconv-оподобными функциями при том условии, что сам iconv отключен в disable_functions? | |
|
|
|
|
|
|
|
для: Anwor
(02.08.2008 в 04:37)
| | disable_functions = iconv ... если в phpinfo вы видите именно это, то помоему к администратору сервера вам всёже придётся обратится ...
> понял что альтернатив ей нормальных вроде как нет... я не ошибаюсь? ..
ошибаетесь,я вообще например iconv не пользуюсь,а предпочитаю mbstring ... | |
|
|
|
|
|
|
|
для: Anwor
(02.08.2008 в 04:37)
| | В начале скрипта:
iconv_set_encoding('internal_encoding','UTF-8');
http://www.php.net/manual/en/function.iconv-set-encoding.php | |
|
|
|
|
|
|
| Всем доброго,
у меня проблема наклюнулась такого плана.. стал очень активно использовать Аякс, но как известно, чтобы по-нормальному перекидываться пользовательскими строковыми данными с Аяксом, надо произвести ряд энкодерско-декодерских действий. В частности, для обработки пришедших через $_POST данных на Аякс, пользуюсь функцией iconv().
На локальном сервере, с родными настройками php.ini, всё порхает без проблем.
Проблемы начинаются, как только выкладываю проект на реальный сервер. Хостинг у меня купленный, работаю с большим количеством доменов, и с помощью phpinfo() я обнаружил, что на них на всех функция iconv() стоит в режиме disabled.
Какие пути решения проблемы?
1) Первое что приходит на ум, это найти замену iconv(), менее привиредливую в плане настроек..... пошарился по форуму, понял что альтернатив ей нормальных вроде как нет... я не ошибаюсь?
2) Попробовать изменить одну из директив php.ini при помощи средств Апаче (htaccess). Вот только в душе не знаю, какая именно директива php.ini отвечает за iconv()...... если подскажете, буду очень признателен!
3) Самая крайняя и позорная мера, к которой очень бы не хотелось прибегать - это обратиться к администратору сервера с просьбой подключить директиву. Но в плане универсализма эта идея мне совсем не нравится...
Пожалуйста, подскажите как лучше поступить..
Заранее благодарен. | |
|
|
|
|