| Дата: Вторник, 08.01.2013, 11:48 | Сообщение # 1 |
Группа: Администраторы
Сообщений: 1530
| Раньше при отправке почты я конвертировал текстовую переменную с помощью функции ICONV , но внезапно она перестала работать на моем хостинге(видимо сменились PHP параметры сервера)
$text=iconv("utf-8","koi8r",$text); | исходная кодировка, конечная кодировка, строка
Это перестало работать. Покопавшись в недрах интернета нашел другую подобную функцию(mb_convert_encoding) для конвертации кодировки:
$text=mb_convert_encoding($text, "koi8r", "utf-8"); | строка, конечная кодировка, исходная кодировка
и все заработало, как прежде!
Источник: http://php.net/mb_convert_encoding
------------------------------------------------------------------------------------ Вот еще альтернативный вариант перекодировки с помощью специально написанной функции
<?php
function utf8_to_win($string){ for ($c=0;$c $i=ord($string[$c]); if ($i <= 127) @$out .= $string[$c]; if (@$byte2){ $new_c2=($c1&3)*64+($i&63); $new_c1=($c1>>2)&5; $new_i=$new_c1*256+$new_c2; if ($new_i==1025){ $out_i=168; } else { if ($new_i==1105){ $out_i=184; } else { $out_i=$new_i-848; } } @$out .= chr($out_i); $byte2 = false; } if (($i>>5)==6) { $c1 = $i; $byte2 = true; } } return $out; }
$text=utf8_to_win($text);
?>
|
|
| |