Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как раскодировть строку? =?windows-1251?B?...?=

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Webtest
Отправлено: 20 Июня, 2014 - 10:29:48
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Здравствуйте.

Есть строка вида: =?windows-1251?B?ze7i4P8g8uXs4CDiIPTu8PPs5SDC7u/w7vH7IO3u4uj36u7i?=
Как перевести её в читабельый вид? Я уже весь интернет перегуглил и все кодировщики перепробовал - не работает.

(Отредактировано автором: 20 Июня, 2014 - 10:30:09)

 
 Top
LIME
Отправлено: 20 Июня, 2014 - 10:33:10
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




http://www.php.su/articles/?cat=...ail&page=001
где-то в начале найдешь ответ
 
 Top
Webtest
Отправлено: 20 Июня, 2014 - 10:49:13
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




LIME пишет:
http://www.php.su/articles/?cat=...ail&page=001
где-то в начале найдешь ответ

Нашел вот это:
<?php
$subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
?>
Уже пробовал несколько раз и по разному так делать:
Эта строка
echo $strReplace;
выводит
=?windows-1251?B?ze7i4P8g8uXs4CDiIPTu8PPs5SDC7u/w7vH7IO3u4uj36u7i?=
Делаю такой код:
echo $sub = '=?windows-1251?B?'.base64_encode(convert_cyr_string('ze7i4P8g8uXs4CDiIPTu8PPs5SDC7u/w7vH7IO3u4uj36u7i', "w","k")).'?=';
или такой: $sub = '=?windows-1251?B?'.base64_encode(convert_cyr_string($strReplace, "w","k")).'?=';
Не работает в обоих случаях.
 
 Top
esterio
Отправлено: 20 Июня, 2014 - 10:55:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Webtest пишет:
=?windows-1251?B?ze7i4P8g8uXs4CDiIPTu8PPs5SDC7u/w7vH7IO3u4uj36u7i?=

windows-1251 - кодировка cp1251
B - означает что данные закодированние в base64
ze7i4P8g8uXs4CDiIPTu8PPs5SDC7u/w7vH7IO3u4uj36u7i?= - данные
 
 Top
Webtest
Отправлено: 20 Июня, 2014 - 11:02:01
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




esterio пишет:
Webtest пишет:
=?windows-1251?B?ze7i4P8g8uXs4CDiIPTu8PPs5SDC7u/w7vH7IO3u4uj36u7i?=

windows-1251 - кодировка cp1251
B - означает что данные закодированние в base64
ze7i4P8g8uXs4CDiIPTu8PPs5SDC7u/w7vH7IO3u4uj36u7i?= - данные

Да, это я уже читал. Пробовал такой код:
$replaceArr = array('Subject: =?windows-1251?B?', '?=');
$strReplace = str_replace($replaceArr, '', $subject);
echo base64_decode($strReplace);
Выводит какие-то ромбики: ����� ���� � ������ ������� ��������
 
 Top
LIME
Отправлено: 20 Июня, 2014 - 11:02:06
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




cp866
cp1251 это выдумки MySql
(Добавление)
так ты кодировку страницы так же приведи в порядок
чтоб соответствовало
в браузере прям в настройках можно
 
 Top
Webtest
Отправлено: 20 Июня, 2014 - 11:07:43
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




LIME пишет:
cp866
cp1251 это выдумки MySql
(Добавление)
так ты кодировку страницы так же приведи в порядок
чтоб соответствовало
в браузере прям в настройках можно

А что именно сделать? У меня кодировка страницы стояла ISO, переставил на UTF-8, весь русский текст на странице превратился в знаки вопросов - ромбы остались, пределал в виндовс-1251, русский текст перевелся втакеи знаки вопросов, опять же ромбы на месте. В чем проблема не понимаю.
 
 Top
LIME
Отправлено: 20 Июня, 2014 - 11:10:11
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




нучтотакоенепонятно!
PHP:
скопировать код в буфер обмена
  1. echo base64_decode('ze7i4P8g8uXs4CDiIPTu8PPs5SDC7u/w7vH7IO3u4uj36u7i?=');//Новая тема в форуме Вопросы новичков
 
 Top
Webtest
Отправлено: 20 Июня, 2014 - 11:16:55
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




LIME пишет:
нучтотакоенепонятно!
PHP:
скопировать код в буфер обмена
  1. echo base64_decode('ze7i4P8g8uXs4CDiIPTu8PPs5SDC7u/w7vH7IO3u4uj36u7i?=');//Новая тема в форуме Вопросы новичков

Выводит ромбы: ����� ���� � ������ ������� ��������
 
 Top
DelphinPRO
Отправлено: 20 Июня, 2014 - 11:31:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




ну прогони через iconv что ли )

(Отредактировано автором: 20 Июня, 2014 - 11:32:28)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Webtest
Отправлено: 20 Июня, 2014 - 11:40:00
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




DelphinPRO пишет:
ну прогони через iconv что ли )

Подскажите как?
Собственно код:
PHP:
скопировать код в буфер обмена
  1.  
  2. $strStart =  strpos($head, 'Subject: =?');
  3. $subStart = substr($head, $strStart);
  4. $strEnd = strpos($subStart, '?=');
  5. $subject = substr($head, $strStart, $strEnd+2); // До этой строки выбираю нужную строку
  6. $replaceArr = array('Subject: =?windows-1251?B?', '?=');
  7. $strReplace = str_replace($replaceArr, '', $subject); // Убираю тип кодировки, чтобы получилась чистая строка для декодирования
  8. $test = iconv("Windows-1251", "UTF-8", $strReplace); //
  9. echo base64_decode($test);
  10.  

Что не так-то?
 
 Top
LIME
Отправлено: 20 Июня, 2014 - 11:40:53
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




строку данных перехреначил и спрашивает что нетак

(Отредактировано автором: 20 Июня, 2014 - 11:41:56)

 
 Top
Webtest
Отправлено: 20 Июня, 2014 - 11:41:09
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Ниндзя
(Добавление)
Как её захреначить назад?

(Отредактировано автором: 20 Июня, 2014 - 11:42:02)

 
 Top
LIME
Отправлено: 20 Июня, 2014 - 11:44:23
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




а ты глаза распахни и посмотри какая строка у меня в коде
 
 Top
DelphinPRO
Отправлено: 20 Июня, 2014 - 11:44:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




сначала раскодируй, потом конвертируй кодировку )


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB