Как в php перекодировать строку из utf-8...

М
На сайте с 01.12.2005
Offline
73
1919

... в любую другую кодировку, чтобы работало на любом хостинге с php4. Подойдет ли для этого iconv или есть другие, более предпочтительные способы?

Cервис для оптимизаторов Optimizer Desktop (http://jdev.ru/od/?utm_source=forum.se.ru&utm_medium=signature): мониторинг позиций, учет ссылок. Программа для оптимизаторов и вебмастеров OptiSuit (http://optisuit.ru/?utm_source=forum.se.ru&utm_medium=signature): Optimizer Desktop на Вашем компьютере
edogs software
На сайте с 15.12.2005
Offline
775
#1

Можно mb_convert_encoding (чаще бывает проставлен чем iconv по нашему опыту)

Можно "руками" (смотрите в комментах к convert_cyr_string) если "лишних" либ не стоит.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
Zlo_606ep
На сайте с 14.12.2006
Offline
129
#2

в кириллицу win-1251


function utf2win($string)
{
$out='';
for($c=0;$c<strlen($string);$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;
$out_i=($new_i==1025)?168:(($new_i==1105)?184:($new_i-848));
@$out.=chr($out_i);
$byte2=false;
}
if(($i>>5)==6)
{
$c1=$i;
$byte2=true;
}
}
return $out;
}
M
На сайте с 14.01.2007
Offline
6
#3

и в utf)

function win_utf8 ($in_text){
$output="";
$other[1025]="Ё";
$other[1105]="ё";
$other[1028]="Є";
$other[1108]="є";
$other[1030]="I";
$other[1110]="i";
$other[1031]="Ї";
$other[1111]="ї";

for ($i=0; $i<strlen($in_text); $i++){
if (ord($in_text{$i})>191){
$output.="&#".(ord($in_text{$i})+848).";";
} else {
if (array_search($in_text{$i}, $other)===false){
$output.=$in_text{$i};
} else {
$output.="&#".array_search($in_text{$i}, $other).";";
}
}
}
return $output;
}
T
На сайте с 04.10.2005
Offline
63
#4

на php.net описано уйма способов в комментариях

http://php.net/iconv

если не нравятся используйте

mb_convert_encoding("блабла", "cp1251", "UTF-8");

как сказал edogs

КМ
На сайте с 08.03.2007
Offline
66
#5
Мишган:
... в любую другую кодировку, чтобы работало на любом хостинге с php4. Подойдет ли для этого iconv или есть другие, более предпочтительные способы?

В полне подойдет iconv если конечно не нужно перекодировать постоянно тонны текста.

М
На сайте с 01.12.2005
Offline
73
#6
КиллерМЕН:
В полне подойдет iconv если конечно не нужно перекодировать постоянно тонны текста.

А на любом ли хостинге есть?

T
На сайте с 04.10.2005
Offline
63
#7

не всегда, у меня на сервере она по-умолчанию отключена была.

поэтому и на простых хостингах может быть выключена.

хотя можно было и по-умолчанию поставить на вкл, но програмисты решили, что она не нужна по-умолчанию.

-
На сайте с 07.12.2005
Offline
97
-K-
#8

Вообще по хорошему из cp1251 в utf - легко, а вот обратно могут быть трудности

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий