[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблемы с кодировкой при отправке
qaz333
Короче такая проблема, есть текст, я его кодирую в басе64 и отправляю курлом через пост запрос на другой сайт, там принимаю, разшиффровываю, проблема в томчто текст приходит воот в таком виде Базылхан Дюсупов почему? как правильно нужно? где загвоздка?
timonbandit
потому что отправляете в cp1251, а на другом сайте разбирают в utf-8. Элементарно, Базылхан Дюсупов.
qaz333
Цитата (timonbandit @ 29.09.2013 - 13:33)
потому что отправляете в cp1251, а на другом сайте разбирают в utf-8. Элементарно, Базылхан Дюсупов.

а что в таком случае делать? просто текст идёт вместе с теами хтмл, поэтому iconv непоможет
timonbandit
ну можно htmlspecialchars преобразовать, затем mb_convert_encoding преобразовать, а потом htmlspecialchars_decode разобрать.

<?php

$html = '<span class="superbold">Уважаемые форумчане и гости форума! Убедительная просьба, в разделе вакансий не флудить и отписываться исключительно по существу вакансии.</span>';
$true_html = htmlspecialchars($html);

$cp = mb_convert_encoding($true_html, "utf-8", "cp1251");
$utf = mb_convert_encoding($cp, "cp1251", "utf8");

$cp = htmlspecialchars_decode ($cp);
$utf = htmlspecialchars_decode($utf);

echo $cp . "<br />\n" . $utf;
?>
qaz333
Цитата (timonbandit @ 29.09.2013 - 14:01)
ну можно htmlspecialchars преобразовать, затем mb_convert_encoding преобразовать, а потом htmlspecialchars_decode разобрать.

<?php

$html = '<span class="superbold">Уважаемые форумчане и гости форума! Убедительная просьба, в разделе вакансий не флудить и отписываться исключительно по существу вакансии.</span>';
$true_html = htmlspecialchars($html);

$cp = mb_convert_encoding($true_html, "utf-8", "cp1251");
$utf = mb_convert_encoding($cp, "cp1251", "utf8");

$cp = htmlspecialchars_decode ($cp);
$utf = htmlspecialchars_decode($utf);

echo $cp . "<br />\n" . $utf;
?>

серовно не выходит, теперь приходит такое

Базылхан Дюсупд,IK ?YK[Z[K\[\KL\?[Z[X\Z\]X\[^ZY\[\[ I\^J $`t-H4/4`-a.4/tb4-/t,4c`
timonbandit

$true_html = htmlspecialchars($html);
$utf = mb_convert_encoding($cp, "utf8", "cp1251");

на вашем сервере, а

$utf = htmlspecialchars_decode($utf);

на удаленном!
А вообще cp1251, в эру utf8 - не камильфо. Юзайте ее, если есть возможность, конечно)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.