Конвертиране от CP1251 в UTF-8
Намерих няколко функции за превръщане от windows 1251 в UTF-8 в интернет и реших да ги пусна, може и на някой да са му от помощ. Изпробвайте ги и вижте, коя от всичките ще ви хареса най-много:
CODE
CODE
CODE
CODE
И ако PHP е ви е компилирано с --with-iconv
CODE
Надявам се да са ви от помощ!
CODE
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php function win2utf($s) { for($i=0,$m=strlen($s);$i<$m;$i++) { $c=ord($s[$i]); if ($c>127) // convert only special chars if ($c==184) $t.=chr(209).chr(209); // small io elseif ($c==168) $t.=chr(208).chr(129); // capital io else $t.=($c>239?chr(209):chr(208)).chr($c-48); else $t.=$s[$i]; } return $t; } ?> |
CODE
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php function win3utf($s) { for($i=0, $m=strlen($s); $i<$m; $i++) { $c=ord($s[$i]); if ($c<=127) {$t.=chr($c); continue; } if ($c>=192 && $c<=207) {$t.=chr(208).chr($c-48); continue; } if ($c>=208 && $c<=239) {$t.=chr(208).chr($c-48); continue; } if ($c>=240 && $c<=255) {$t.=chr(209).chr($c-112); continue; } if ($c==184) { $t.=chr(209).chr(209); continue; }; if ($c==168) { $t.=chr(208).chr(129); continue; }; } return $t; } ?> |
CODE
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php function win2utf($s){ $c209 = chr(209); $c208 = chr(208); $c129 = chr(129); for($i=0; $i<strlen($s); $i++) { $c=ord($s[$i]); if ($c>=192 and $c<=239) $t.=$c208.chr($c-48); elseif ($c>239) $t.=$c209.chr($c-112); elseif ($c==184) $t.=$c209.$c209; elseif ($c==168) $t.=$c208.$c129; else $t.=$s[$i]; } return $t; } ?> |
CODE
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php function win3utf($s) { for($i=0, $m=strlen($s); $i<$m; $i++) { $c=ord($s[$i]); if ($c<=127) {$t.=chr($c); continue; } if ($c>=192 && $c<=207) {$t.=chr(208).chr($c-48); continue; } if ($c>=208 && $c<=239) {$t.=chr(208).chr($c-48); continue; } if ($c>=240 && $c<=255) {$t.=chr(209).chr($c-112); continue; } if ($c==184) { $t.=chr(209).chr(209); continue; }; if ($c==168) { $t.=chr(208).chr(129); continue; }; } return $t; } ?> |
И ако PHP е ви е компилирано с --with-iconv
CODE
| 1 2 3 | <?php echo iconv ('CP1251','UTF-8','some cyr string'); ?> |
Надявам се да са ви от помощ!





