Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   iconv(). Сервер выдает notice (https://javascript.ru/forum/server/12893-iconv-server-vydaet-notice.html)

Invis1ble 07.11.2010 18:17

iconv(). Сервер выдает notice
 
Всем привет! Есть например такой php-скрипт:
<?php
  $input_charset = 'utf-8';
  $output_charset = 'us-ascii//TRANSLIT';
  
  $input_str = 'Входная строка';
  $output_str = iconv($input_charset, $output_charset, $input_str);
  
  echo $input_str.'<b>=></b>'.$output_str.'<br />';

но при работе он выдает
Код:

Notice: iconv() [function.iconv]: Detected an illegal character in input string in C:\www\html\test.php on line 6
на всякий случай: вот что выдает phpinfo():
Код:

iconv support          enabled
iconv implementation        "libiconv"
iconv library version        1.11

Directive              Local Value    Master Value
iconv.input_encoding        ISO-8859-1        ISO-8859-1
iconv.internal_encoding        ISO-8859-1        ISO-8859-1
iconv.output_encoding        ISO-8859-1        ISO-8859-1

В чем может быть проблема? Подскажите плиз..

B@rmaley.e><e 07.11.2010 19:13

А сам файл у Вас в юникоде?

Invis1ble 07.11.2010 20:50

B@rmaley.e><e,
Сам файл в utf-8, пробовал также и в ansi.. Результат не меняется

Gozar 07.11.2010 21:35

удалено.

Gvozd 07.11.2010 23:46

выложите свой нерабочий пример в виде архива.
так проще будет проанализировать источник пробелмы

Invis1ble 08.11.2010 00:55

Gvozd,
в первом посте - нерабочий пример (у меня не работает) =)

Gvozd 08.11.2010 01:22

Invis1ble,
вы идиот, или где?
я кажется вполне ясно выразился, что нужен именно архив с вашим нерабочим кодом.

в любом случае, проблема видимо именно в версии библиотеки.
у меня при версии 1.11 также не работает

мне вот интересно, чего вы хотите добиться данным кодом?
просто сделать транслитерацию?
это не самая лучшая идея.
и что за кодировка такая us-ascii?
терзают меня сомнения по поводу допустимости такой кодировки в качестве аргумента Iconv

Invis1ble 08.11.2010 01:51

Gvozd,
Цитата:

Сообщение от Gvozd
вы идиот, или где?

Ну что за привычка такая - сразу хамить? Если не хочешь помочь - не помагай..
Цитата:

Сообщение от Gvozd
я кажется вполне ясно выразился, что нужен именно архив с вашим нерабочим кодом.

зачем мне спрашивается выкладывать архив с кодом, который весит 30.8 Mb, если у меня просто не работает одна функция? Код в первом посте полностью отражает характер проблемы.
Цитата:

Сообщение от Gvozd
мне вот интересно, чего вы хотите добиться данным кодом?
просто сделать транслитерацию?

код тестовый, как я уже сказал выше
Цитата:

Сообщение от Gvozd
и что за кодировка такая us-ascii?

Наименование: Западная Европа (ASCII)
Идентификатор: us-ascii
Синонимы: ANSI_X3.4-1968, ANSI_X3.4-1986, cp367, csASCII, IBM367, iso-ir-6, ISO646-US, ISO_646.irv:1991, ascii, us, us-ascii-1968, x-ansi
Цитата:

Сообщение от Gvozd
терзают меня сомнения по поводу допустимости такой кодировки в качестве аргумента Iconv

не сомневайся, кусок кода с использованием этой кодировки в качестве аргумента для iconv() приводится в уроках по symfony на официальном сайте + этот код (который в первом посте) работает у одного моего знакомого

Invis1ble 08.11.2010 01:54

Gozar,
как установить более новую версию (у меня винда) ?

Gvozd 08.11.2010 02:09

Цитата:

Сообщение от Invis1ble
зачем мне спрашивается выкладывать архив с кодом, который весит 30.8 Mb, если у меня просто не работает одна функция? Код в первом посте полностью отражает характер проблемы.

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

в вашем случае я подозревал именно такого рода ошибку.
но позже глянул, и понял что не в этом дело.
Цитата:

Сообщение от Invis1ble
как установить более новую версию (у меня винда) ?

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


Часовой пояс GMT +3, время: 11:55.