Autor Zpráva
Pesulap
Profil
Ahoj , jak je již pochopitelné z názvu topiku jde mi o to jak mám převést text který je ve win125é na UTF 8 . zkoušel jsem iconv to nepomohlo :-( zkoušel jsem i převod na ISO 8859-2 podle návodu nalezený na netu
$text_o=iconv(strtr($text_o, "\x9E\x9A\x9D\x8E\x8A\x8D", "\xBE\xB9\xBB\xAE\xA9\xAB"));
a taky nic :-( v proměnné mám nahraný zdrojový kód stránky ( nějaké) a potřebuji ošetřit to aby to bylo čitelné i když najedu na stránku která má jiné kódování než ta moje stráánky :-(
Děkuji za radu ...
Aleš Janda
Profil
iconv musí pomoct..

$text_v_utf8 = iconv('windows-1250','utf-8',$text_v_1250);
DoubleThink
Profil *
windows-1250
Když už, tak CP1250.
djlj
Profil
Když už, tak CP1250.
Funkci iconv je to jedno.
DoubleThink
Profil *
Funkci iconv je to jedno.
Podle dokumentace nikoliv, takže bych na to moc nespoléhal.
peteo
Profil
ha, to som zažil.

robil som to pspade, a umusel som memiť hafo znakov.

trvalo mi to 2 týždne.

Od tej doby zásadne všetko robím v UTF-8.

a mám pokoj.
Joker
Profil
peteo
robil som to pspade, a umusel som memiť hafo znakov.
To je taky možnost, i když já osobně bych to raději načetl jako CP1250, zvolil Formát- UTF-8 a dal Uložit.
Ale proti gustu...
;-)
djlj
Profil
DoubleThink
No spoléhá na to kde kdo. Ještě jsem se nesetkal s případem, že by to nefungovalo.
dgx
Profil
DoubleThink: to ale není podrobná dokumentace, nejsou zde vůbec zmíněny aliasy, jako třeba právě 'windows-1250', nebo dokonce 'MS-EE'.

djlj: Že na to spoléhá kde kdo ještě neznamená, že to ten dotyčný nedělá blbě ;)
djlj
Profil
dgx
Já vím. Jen ten tvůj blog tady pořád někdo odkazuje, když se chce na něco vymluvit (vidíte, dělá to i dgx!), tak jsem si říkal, proč bych to neudělal i já ;).
Hally
Profil *
Aleš Janda
Mohl bys mi ukázat jak mam použít funkci iconv v tomto kódu - dík

Přikládám skript pro vkládání tv progra,mu z cizí stránky.


<?php
function tvProgram($kanal)
{
if ($x = file_get_contents("http://www.iprogram.cz/?TV=$kanal"))
{
preg_match("~<table class=program>(.+?)</table>~si", $x, $out);
preg_match_all("~<tr>(.+?)</tr>~si", $out[1], $out2);

$t = "<table border=1>";
foreach ($out2[1] as $line)
{
$t .= "<tr>" . $line . "</tr>";
}
$t .= "</table>";

return $t;
}
else
{
return "Nelze načíst požadovaný kanál - $kanal";
}
}

echo tvProgram("NOVA");
echo tvProgram("SPORT1");
?>
Aleš Janda
Profil
Hally

<?php
function tvProgram($kanal)
{
if ($x = file_get_contents("http://www.iprogram.cz/?TV=$kanal"))
{
preg_match("~<table class=program>(.+?)</table>~si", $x, $out);
preg_match_all("~<tr>(.+?)</tr>~si", $out[1], $out2);

$t = "<table border=1>";
foreach ($out2[1] as $line)
{
$t .= "<tr>" . iconv('windows-1250','utf-8',$line) . "</tr>";
}
$t .= "</table>";

return $t;
}
else
{
return "Nelze načíst požadovaný kanál - $kanal";
}
}

echo tvProgram("NOVA");
echo tvProgram("SPORT1");
?>
mmako
Profil *
pokud mám velký string tak iconv mi ho zkrátí(win1250 to utf8) :-/ .. nedá se nějak převést kodovani při ukladani dat do souboru ? nebo zmenit kodovani csv souboru pomoci php
mmako
Profil *
jak je možné že načítám data z nějaké url(xml) přez DOM a uložim je do souboru a je to utf-8 přitom mam DOMDocument('1.0','windows-1250'); a <?xml version='1.0' encoding='windows-1250'?>
kozusnik.jan
Profil *
Dobrý den, přišlo mi zbytečné psát nové téma, a tak oživím tohle, používám funkci iconv() na převod kódování textu z cp1250 do UTF-8. Problém je, že některé znaky to vyhazuje špatně, konkrétně například místo č to vypíše čárkované e, ale s obrácenou čárkou :D viztady.
Používám to kvůli fPDF knihovny...
funkce na převod kdyžtak tady:
function toCZ($text){
    $toKodovani = "UTF-8";
    $fromKodovani = "cp1250";
    $returnText = iconv($toKodovani, $fromKodovani, $text);
    return $returnText;  
}

Mockrát děkuji za rady
nemeja
Profil
CO zkusit autoUTF od Davida G.
kozusnik.jan
Profil *
Zkusil jsem autoUTF, a bohužel nejde... viz tady
Kód je tady: http://pastebin.com/Jf2ZqxGd
kozusnik.jan
Profil *
tak už jsem to vyřešil jinou knihovnou - mPDF. Přijde mi lepší, vygenerujte html soubor a z toho knihovna vygeneruje pdfko :)

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0