Převod z win-1250 do UTF-8 konvertor

07.06.2007 • Rubrika: Programování • Odkaz: http://rubriky.cz/prevod_z_win_1250_do_utf_8_konvertor.php

Převod z win-1250 do UTF-8 pomocí PHP funkce. Překódování textu z kódování win-1250 do kódování UTF-8.
Pokud píšeme texty v php kódu s diakritikou v prostředí operačního systému Windows a text následně uložíme do souboru, čeština je uložena v kódování win-1250. Pokud však chceme, aby se text na webu zobrazil v kódování UTF-8, můžeme použít následující funkci pro převod z win-1250 do UTF-8. PHP funkce v základní sadě PHP interpretru totiž převádějí písmena s českou diaktitikou chybně, neboť vycházejí z iso-8859-2 nebo dokonce z iso-8859-1. I za situace, kdy diakritiku nejprve převedeme z kódování win-1250 do iso-8859-2 a poté využijeme interní php funkce pro převod diakritiky do UTF-8, některá písmena jsou překódována chybně. Pravděpodobně to souvisí s pořadím v jakém jsou uvnitř funkce jednotlivá písmena překódovávána. Což ale řeší následující funkce, kde konveze z win-1250 do UTF-8 proběhne u českých diakritických písmen bez problémů, viz dále. Funkce je odladěna pouze pro český jazyk, jedná se pouze o CZ konvertor diakritiky.

Kódování znaků UTF-8 používá většina vyhledavačů. Konvertor z win-1250 do UTF-8 můžeme v praxi s výhodou použít pro webovou stránku s Google Custom search neboli Google Vlastní hledání, které nám jinak nevyhledává česká klíčová slova s diakritikou, není-li stránka s vyhledávacím formulářem kódována v UTF-8.

PHP funkce - Převod z win-1250 do UTF-8

Poznámka: Je třeba ponechat pořadí jednotlivých písmen v uvedeném sledu, jinak vzniknou chyby v převodu!

function win-utf8 ($slovo) {
  $slovo=str_replace("ě",chr(196).chr(155),$slovo);
  $slovo=str_replace("š",chr(197).chr(161),$slovo);
  $slovo=str_replace("ř",chr(197).chr(153),$slovo);
  $slovo=str_replace("ý",chr(195).chr(189),$slovo);
  $slovo=str_replace("á",chr(195).chr(161),$slovo);
  $slovo=str_replace("í",chr(195).chr(173),$slovo);
  $slovo=str_replace("é",chr(195).chr(169),$slovo);
  $slovo=str_replace("ú",chr(195).chr(186),$slovo);
  $slovo=str_replace("ů",chr(197).chr(175),$slovo);
  $slovo=str_replace("ď",chr(196).chr(143),$slovo);
  $slovo=str_replace("ť",chr(197).chr(165),$slovo);
  $slovo=str_replace("ň",chr(197).chr(136),$slovo);
  $slovo=str_replace("ó",chr(195).chr(179),$slovo);
  $slovo=str_replace("Ě",chr(196).chr(154),$slovo);
  $slovo=str_replace("Š",chr(197).chr(160),$slovo);
  $slovo=str_replace("Č",chr(196).chr(140),$slovo);
  $slovo=str_replace("Ř",chr(197).chr(152),$slovo);
  $slovo=str_replace("Á",chr(195).chr(129),$slovo);
  $slovo=str_replace("É",chr(195).chr(137),$slovo);
  $slovo=str_replace("Ť",chr(197).chr(164),$slovo);
  $slovo=str_replace("Ň",chr(197).chr(135),$slovo);
  $slovo=str_replace("Ó",chr(195).chr(147),$slovo);
  $slovo=str_replace("Ý",chr(195).chr(157),$slovo);
  $slovo=str_replace("Ú",chr(195).chr(154),$slovo);
  $slovo=str_replace("Ů",chr(197).chr(174),$slovo);
  $slovo=str_replace("Í",chr(195).chr(141),$slovo);
  $slovo=str_replace("ž",chr(197).chr(190),$slovo);
  $slovo=str_replace("Ž",chr(197).chr(189),$slovo);
  $slovo=str_replace("č",chr(196).chr(141),$slovo);
  $slovo=str_replace("Ď",chr(196).chr(142),$slovo);
  // autor funkce SoftWork znamost.cz
  return $slovo;
}

Příklad použití:

<?php
echo win-utf8("
Myšička žužlá měkký řízek.");
?>


Výsledek: Uvedená věta napsaná v kódování win-1250 je zobrazena v kódování UTF-8.

Rady a názory k tématu : Převod z win-1250 do UTF-8 konvertor


Českou kuličkářskou elitu čeká mistrovství ČRPátek 13.Kuličková sezóna odstartuje turnajem na Střeleckém ostrověRadary v PrazePočtem mohou zamíchat NULL hodnotyBlu-rayNové album Jean Michela JarrehoSMS zdarmaSpolečenský doprovodSeznamkaRubriky

Názory a rady Převod z win-1250 do UTF-8 konvertor

Vaše názory a rady k tématu Převod z win-1250 do UTF-8 konvertor. Vyjádřete svůj názor nebo poznatek.

Komentář 
Jméno    Věk (volitelně)

 

Následují komentáře návštěvníků. Kterýkoli příspěvek může být vymazán, zvláště urážlivé, vulgární nebo mimo téma, které nejsou povoleny.

ŽANETA (15)22.01.2011 14:16
těšímse

likvi09.07.2009 10:19
Do nazvu funkce pomlcka?

23.01.2008 09:48
potřeboval bych napsat řecké "micro" (takový to u s ocáskem na začátku) to vzorečku v exelu. Pokud použiji alt+181 tak se napíše "Á". Co s tím? (změna typu písma ve vzorcích není možná a pokud ho slučuji odjinud tak se tam stejně napíše "m")

Nothing20.11.2007 14:12
a kde jsou přehlasovaná písmena?




Seznamka
světlometysynonyma
Převod z win-1250 do UTF-8 konvertor




Články jsou vkládány návštěvníky tohoto serveru. V případě, že v textu rozpoznáte své dílo, sdělte tuto skutečnost, článek bude zakázán. Články je možné přebírat a citovat za podmínky uvedení "zdroj: Rubriky.cz". Bez této poznámky není dovoleno texty citovat.

Vložte článek | Ochrana soukromí | Kontakt


Stránky používají soubory cookies k poskytování služeb, analýze návštěvnosti a personalizaci reklam. Používáním stránek s tímto souhlasíte. Detaily