Как декодировать строку?

SiMM

Новичок
Автор оригинала: PNS
Но ведь исходная строка - непуста! Куда она могла пропасть?
PNS, ты читать не умеешь? Или думать? Какая исходная строка?
PHP:
<?=iconv('UTF-16','Windows-1251',imap_utf7_decode('&BCcENQRABD0EPgQyBDgEOgQ4-'))?>
Хватит уже тормозить - последняя ссылка была дана только для того, чтобы ты понял, почему
PHP:
<?php echo 'false="'.false.'"'?>
выдаёт пустую строку.
Читать PHP FAQ: Ничего не работает! Что делать??? + Как задавать вопросы, чтобы получать на них ответы.
 

PNS

Новичок
Originally posted by SiMM
PNS, ты читать не умеешь? Или думать? Какая исходная строка?
PHP:
<?=iconv('UTF-16','Windows-1251',imap_utf7_decode('&BCcENQRABD0EPgQyBDgEOgQ4-'))?>
Хватит уже тормозить - последняя ссылка была дана только для того, чтобы ты понял, почему
PHP:
<?php echo 'false="'.false.'"'?>
выдаёт пустую строку.
Читать PHP FAQ: Ничего не работает! Что делать??? + Как задавать вопросы, чтобы получать на них ответы.
<?=iconv('UTF-16','Windows-1251',imap_utf7_decode('&BCcENQRABD0EPgQyBDgEOgQ4-'))?>
выдает пустую строку , это я вижу. var_dump показывает
Но ведь исходная строка
'&BCcENQRABD0EPgQyBDgEOgQ4-'
быть пустой НЕ может - это имя папки почтового ящика.
Где я могу ошибаться - ума не приложу.
 

SiMM

Новичок
PNS, повторяю для эстонцев:
1. Тебе выдаётся не пустая строка, iconv тебе возвращает false (по крайней мере несколькими поставми выше это было так), что это значит - тебе уже неоднократно объяснялось выше.
2. Включи наконец вывод ошибок, как это сделать - написано в факе, ссылку на который я уже забодался тебе давать.
3. Иди и пинай хостера, какого лешего iconv не понимает одну из кодировок (либо UTF-16, либо Windows-1251).

-~{}~ 13.12.04 20:15:

hint: если iconv'у передать пустую строку - пустая строка и вернётся. Функция так же может возвращать false.

-~{}~ 13.12.04 20:17:

PHP:
error_reporting(E_ALL);
ini_set('display_errors',1);
var_dump($str=imap_utf7_decode('&BCcENQRABD0EPgQyBDgEOgQ4-'));
var_dump(iconv('UTF-16','Windows-1251',$str))
 

neko

tеam neko
PNS
мужик раз ты сам неможешь давай я тебе так скажу
это папка "Черновики"

как будут с другими проблемы -- обращайся.
 

PNS

Новичок
Originally posted by neko
PNS
мужик раз ты сам неможешь давай я тебе так скажу
это папка "Черновики"

как будут с другими проблемы -- обращайся.
Dthyj/
Верно, но предложеный код дает такую ошибку у меня на хостинге
Notice: iconv(): Detected illegal character in input string in ...
Возможно действительно дело в том, iconv не понимает одну из кодировок.
 

onufryk

Новичок
У меня вопрос посложнее.
Вот получаю я список этих чертовых папок с IMAP-сервера.
раскодирую его как UTF-7(modified),
как теперь узнать, нужно ли его дополнительно раскодировать из UTF-16 в нужную кодировку (для меня в UTF-8)?

Если все подряд раскодировать, то на латинице будет ошибка, если те, которые &(.*)- (не ASCII), то не уверен, что всегда после imap_utf7_decode получается UTF-16.

есть решение сделать предопределенный набор имен папок, но это не выход в общем случае

-~{}~ 04.02.09 17:33:

Второй вопрос, как сделать обратную перекодировку. Просто поменять вызовы местами (с заменой методов на обратные) не работает.
 

dimagolov

Новичок
некороман?

imap_utf7_decode тебе нафиг не нужен, так как он умеет только с ISO-8859-1 работать, а это не твой случай, как я понимаю.

mb_convert_encoding понимает UTF-7
 

Ralph

Дикий столяр
[MEGAOFFTOP]

Спасибо за поднятый топик...

"Windows1251-это виндозная кодировка,а CP1251-юниксовая"-это порадовало,это пять...

Хотя более логично предположить,что CP1251-это CP/M-ная кодировка :)

[/MEGAOFFTOP]
 
Сверху