iconv
iconv support enabled
iconv implementation glibc
iconv library versio 2.3.5
mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 4.4.4
Multibyte regex (oniguruma) backtrack check On
кодировка строк
Код:
$b = mb_convert_encoding($b,'cp1251','utf8');
Код:
$b = iconv('utf8','cp1251', $b);
phpinfo:
Код:
Цитата: GHopper
Здравствуйте!
Первый код работает, а второй - никак не хотит. Не могу понять где пес порылся...
Код:
$b = mb_convert_encoding($b,'cp1251','utf8');
Код:
$b = iconv('utf8','cp1251', $b);
"Никак не хотит" - как-то маловато информации.. ;) Чем хоть ругается? PHP какой версии? iconv при сборке включена (в phpinfo --with-iconv' есть?)? Логи почитайте..
P.S. Да, и еще - почему это у Вас и в левой и в правой части одна и та же переменная ($b) используется? "Очепятка", или "такой стиль"? ;)
[SIZE=2]PHP Version 5.2.1-pl3-gentoo[/SIZE]
Код:
'./configure' '--prefix=/usr/lib/php5' '--host=i686-pc-linux-gnu' '--mandir=/usr/lib/php5/man' '--infodir=/usr/lib/php5/info' '--sysconfdir=/etc' '--cache-file=./config.cache' '--disable-cli' '--with-apxs2=/usr/sbin/apxs2' '--with-config-file-path=/etc/php/apache2-php5' '--with-config-file-scan-dir=/etc/php/apache2-php5/ext-active' '--without-pear' '--disable-bcmath' '--with-bz2' '--enable-calendar' '--disable-ctype' '--without-curl' '--without-curlwrappers' '--disable-dbase' '--enable-exif' '--without-fbsql' '--without-fdftk' '--disable-filter' '--enable-ftp' '--with-gettext' '--without-gmp' '--disable-hash' '--disable-ipv6' '--disable-json' '--without-kerberos' '--enable-mbstring' '--with-mcrypt' '--without-mhash' '--without-msql' '--with-mssql' '--with-ncurses' '--with-openssl' '--with-openssl-dir=/usr' '--disable-pcntl' '--disable-pdo' '--with-pgsql' '--disable-posix' '--with-pspell' '--without-recode' '--disable-shmop' '--with-snmp' '--disable-soap' '--disable-sockets' '--without-sybase' '--without-sybase-ct' '--disable-sysvmsg' '--disable-sysvsem' '--disable-sysvshm' '--without-tidy' '--disable-tokenizer' '--disable-wddx' '--with-xmlrpc' '--with-xsl' '--enable-zip' '--with-zlib' '--disable-debug' '--enable-dba' '--without-cdb' '--with-db4' '--without-flatfile' '--with-gdbm' '--without-inifile' '--without-qdbm' '--with-freetype-dir=/usr' '--with-t1lib=/usr' '--disable-gd-jis-conv' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--without-xpm-dir' '--with-gd' '--with-imap' '--with-imap-ssl' '--with-mysql=/usr/lib/mysql' '--with-mysql-sock=/var/run/mysqld/mysqld.sock' '--without-mysqli' '--with-readline' '--without-libedit' '--without-mm' '--without-sqlite' '--with-pic'
Код:
iconv('utf8','cp1251', $b);
function_exists("iconv") возвращает TRUE.
phpinfo() показывает, что iconv присутствует, хотя и php скомпилирован без --with-iconv. Видать где-то подключается как расширение... В php.ini все строки с extension: закомментированы. Откуда берет расширения - не могу понять...
Код:
emerge -av php
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild U ] dev-lang/php-5.2.4_p20070914-r2 [5.2.1-r3] USE="berkdb cli crypt gdbm iconv kerberos* ldap* ncurses nls pcre readline reflection session spell spl ssl truetype unicode xml zlib -adabas -apache2* -bcmath -birdstep -bzip2* -calendar* -cdb -cgi -cjk -concurrentmodphp -ctype -curl -curlwrappers -db2 -dbase -dbmaker -debug -discard-path -doc -empress -empress-bcs -esoob -exif* -fastbuild -fdftk -filter -firebird -flatfile -force-cgi-redirect -frontbase -ftp* -gd* -gd-external -gmp -hash -imap* -inifile -interbase -iodbc -ipv6 -java-external -json -ldap-sasl -libedit -mcve -mhash -msql -mssql* -mysql* -mysqli -oci8 -oci8-instant-client -odbc -pcntl -pdo -pic* -posix -postgres* -qdbm -recode -sapdb -sharedext -sharedmem -simplexml* -snmp* -soap -sockets -solid -sqlite -suhosin -sybase -sybase-ct -sysvipc -threads -tidy -tokenizer -wddx -xmlreader* -xmlrpc* -xmlwriter* -xpm -xsl* -yaz -zip* -zip-external (-apache%) (-pdo-external%)" 7,118 kB
Total: 6 packages (1 upgrade, 4 new, 1 in new slot), Size of downloads: 33,644 kB
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild U ] dev-lang/php-5.2.4_p20070914-r2 [5.2.1-r3] USE="berkdb cli crypt gdbm iconv kerberos* ldap* ncurses nls pcre readline reflection session spell spl ssl truetype unicode xml zlib -adabas -apache2* -bcmath -birdstep -bzip2* -calendar* -cdb -cgi -cjk -concurrentmodphp -ctype -curl -curlwrappers -db2 -dbase -dbmaker -debug -discard-path -doc -empress -empress-bcs -esoob -exif* -fastbuild -fdftk -filter -firebird -flatfile -force-cgi-redirect -frontbase -ftp* -gd* -gd-external -gmp -hash -imap* -inifile -interbase -iodbc -ipv6 -java-external -json -ldap-sasl -libedit -mcve -mhash -msql -mssql* -mysql* -mysqli -oci8 -oci8-instant-client -odbc -pcntl -pdo -pic* -posix -postgres* -qdbm -recode -sapdb -sharedext -sharedmem -simplexml* -snmp* -soap -sockets -solid -sqlite -suhosin -sybase -sybase-ct -sysvipc -threads -tidy -tokenizer -wddx -xmlreader* -xmlrpc* -xmlwriter* -xpm -xsl* -yaz -zip* -zip-external (-apache%) (-pdo-external%)" 7,118 kB
Total: 6 packages (1 upgrade, 4 new, 1 in new slot), Size of downloads: 33,644 kB
iconv отмечено красным цветом.
Что-то мне подсказывает, что нет кодировки "utf8", а есть "utf-8". И "cp1251" скорее всего тоже функция не понимает. Скорее всего ей понятно будет "windows-1251". Хотя, могу ошибаться.
Цитата: GHopper
phpinfo() показывает, что iconv присутствует, хотя и php скомпилирован без --with-iconv. Видать где-то подключается как расширение... В php.ini все строки с extension: закомментированы. Откуда берет расширения - не могу понять...
Судя по рекомендации на php.ru,
Код:
Установка
Чтобы расширение было доступно, нужно указать ключ --with-iconv[=DIR] при запуске сценария конфигурирования.
Чтобы расширение было доступно, нужно указать ключ --with-iconv[=DIR] при запуске сценария конфигурирования.
P.S. Попробуйте временно включить все ошибки в php.ini (error_reporting = E_ALL). Может ругнется чем-либо понятным..
ЗЫ:
Цитата:
Арабский (dos) DOS - 720
Арабский (ISO) iso-8859-6
Арабский (Mac) x-mac-arabic
Арабский (Windows) windows-1256
Балтийские языки (DOS) ibm775
Балтийские языки (ISO) iso-8859-4
Греческий (DOS) ibm737
Греческий (ISO) iso-8859-7
Греческий (Mac) x-mac-greek
Греческий (Windows) windows-1252
Греческий современный (DOS) ibm869
Европейский языки x-Europa
Западноевропейские языки (DOS) ibm850
Западноевропейские языки (ISO) iso-8859-1
Западноевропейские языки (Mac) macintosh
Западноевропейские языки (Windows) windows-1252
Кириллица (DOS) cp866
Кириллица (ISO) iso-8859-5
Кириллица (KOI8-R) koi8-r
Кириллица (KOI8-U) koi8-u
Кириллица (Mac) x-mac-cyrillic
Кириллица (Windows) windows-1251
Турецкий (DOS) ibm857
Турецкий (ISO) iso-8859-9
Турецкий (Mac) x-mac-turkish
Турецкий (Windows) windows-1254
Арабский (ISO) iso-8859-6
Арабский (Mac) x-mac-arabic
Арабский (Windows) windows-1256
Балтийские языки (DOS) ibm775
Балтийские языки (ISO) iso-8859-4
Греческий (DOS) ibm737
Греческий (ISO) iso-8859-7
Греческий (Mac) x-mac-greek
Греческий (Windows) windows-1252
Греческий современный (DOS) ibm869
Европейский языки x-Europa
Западноевропейские языки (DOS) ibm850
Западноевропейские языки (ISO) iso-8859-1
Западноевропейские языки (Mac) macintosh
Западноевропейские языки (Windows) windows-1252
Кириллица (DOS) cp866
Кириллица (ISO) iso-8859-5
Кириллица (KOI8-R) koi8-r
Кириллица (KOI8-U) koi8-u
Кириллица (Mac) x-mac-cyrillic
Кириллица (Windows) windows-1251
Турецкий (DOS) ibm857
Турецкий (ISO) iso-8859-9
Турецкий (Mac) x-mac-turkish
Турецкий (Windows) windows-1254
Цитата: UAS
iconv("UTF-8","WINDOWS-1251",$text);
И что Вы хотите этим сказать?? У меня, например, работает и Ваш вариант и вариант топикстартера.. Вот, например, что об этом говорит сама iconv:
Код:
# iconv --list
Следующий список содержит все известные встроенные кодировки. Это не
обязательно означает, что можно использовать любые комбинации данных
имен в параметрах командной строки FROM и TO. Одна и та же кодировка
может быть перечислена под несколькими именами (псевдонимами).
437, 500, 500V1, 850, 851, 852....
Следующий список содержит все известные встроенные кодировки. Это не
обязательно означает, что можно использовать любые комбинации данных
имен в параметрах командной строки FROM и TO. Одна и та же кодировка
может быть перечислена под несколькими именами (псевдонимами).
437, 500, 500V1, 850, 851, 852....