Autor Zpráva
Hally
Profil *
Když vkládám do RS (SunLight CMS - používá UTF-8) data z jiné stránky, rozhodí se mi diakritika.

Jde to nějak ošetřit.

Třeba nějka ty dat (text) překodovat do UTF-8
djlj
Profil
Funkce iconv.
Hally
Profil *
Přikládám skript pro vkládání tv progra,mu z cizí stránky. Nevím jak přesně funkci použít v kódu, prosím o pomoc.


<?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");
?>
djlj
Profil
Co je na tom tak těžkého?

$t .= "<tr>" . iconv("windows-1250", "utf-8", $line) . "</tr>";
Hally
Profil *
Pořád je ta diakritika rozhozená - http://www.kurzovesazeni.com/tvProgram.php

<?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 .= "<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");

?>
Hally
Profil *
Jooo už vím - díky djlj
Hally
Profil *
djlj

Ještě mám stejný problém (potřebuji vypisovat text v UTF-8) s tímto kódem:

<?
$res = mysql_query("SELECT *, UNIX_TIMESTAMP(`podany`) AS `kedy` FROM `tikety` WHERE `stav` = '0' AND `id_user` = '".$_GET['u']."' ORDER BY `podany` DESC LIMIT 10");
if (mysql_num_rows($res) >= 1) {
while ($row = mysql_fetch_array($res)) {
tiket($row['id']);
echo "<br />";
}
}
?>

Jak a kam bych měl zapsat iconv

Předem díky :o)
djlj
Profil
tiket(iconv(...., $row['id']));
Hally
Profil *
djlj

Doplnil jsem

<?
$res = mysql_query("SELECT *, UNIX_TIMESTAMP(`podany`) AS `kedy` FROM `tikety` WHERE `stav` = '0' AND `id_user` = '".$_GET['u']."' ORDER BY `podany` DESC LIMIT 10");
if (mysql_num_rows($res) >= 1) {
while ($row = mysql_fetch_array($res)) {
tiket(iconv(...., $row['id'])); echo "<br />";
}
}
?>


a píše to Parse error: syntax error, unexpected '.', expecting ')'
Mastodont
Profil
Hally
No jestli jsi tam nechal ty tečky, tak to je fakt error :-))) Tam se dávají ještě nějaké parametry, viz výše.
Hally
Profil *
Mastodont
Jaký parametr

moc php nerozumím, ocenil bych pomoc :o)
Mastodont
Profil
iconv("windows-1250", "utf-8", $row['id'])

Máš to ve svém vlastním příspěvku výše :)
Hally
Profil *
Doplnil jsem to takhle:


<?
$res = mysql_query("SELECT *, UNIX_TIMESTAMP(`podany`) AS `kedy` FROM `tikety` WHERE `stav` = '0' AND `id_user` = '".$_GET['u']."' ORDER BY `podany` DESC LIMIT 10");
if (mysql_num_rows($res) >= 1) {
while ($row = mysql_fetch_array($res)) {
tiket(iconv("windows-1250", "utf-8", $row['id']));
echo "<br />";
}
}
?>

ale diakritika je pořád rozhozená http://www.kurzovesazeni.com/bez-hodnoty.p56.html
Hally
Profil *
V čem by mohla být ještě chyba?
Mastodont
Profil
Třeba v kódové stránce spojení apod. ...

http://molhanec.net/mysql_cestina_minifaq.html

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0