Autor Zpráva
peta
Profil
Zkousim pres Wamp server na localhostu prekodovat cestinu do entit.
Nektere ze zakomentovanych jsou uspesne, jine mene. Zlobi mne konkretne pismenko ň .

<?php
@ini_set('error_reporting',E_ALL);
@ini_set("display_errors","on");
error_reporting(E_ALL);

//header("Content-Type: text/html;charset=utf-8");

$x = isset($_GET['aaa']) ? $_GET['aaa'] : '';
//$y = htmlSpecialChars($x);
//$y = unicode_encode($x);
//$y = htmlentities($x,ENT_COMPAT,'UTF-8');
//$y = utf8_encode($x);
//$y = mb_convert_encoding($x,"HTML-ENTITIES");
//$y = htmlSpecialChars(htmlentities($x,ENT_COMPAT,'utf-8'),ENT_QUOTES,'utf-8 ');
//$y = htmlSpecialChars(htmlentities($x));
function regX($matches)
{
return '&#'.hexdec($matches[1]).';';
}
$y = preg_replace_callback('/\%(..)/','regX',urlencode($x));
$y = str_replace('+',' ',$y);

?>

<head>
<!--meta http-equiv="Content-Type" content="text/html;charset=utf-8" /-->
<meta http-equiv="Content-Type" content="text/html;charset=windows-1250" />
<title>Kodovani do entit</title>
</head>

<form>
Zdroj<br>
<textarea name="aaa" rows=10 cols=60><?php echo $x; ?></textarea>
<input type=submit>

<p>Vysledek:<br>
<textarea rows=10 cols=60><?php echo $y; ?></textarea></p>
</form>

Problem je v tom, ze mi pismenko ň zakoduje na
&# 242;
misto spravneho
&# 328;
Co delam spatne?
Totez udela radek $y = htmlSpecialChars(htmlentities($x));
peta
Profil
Uz to mam, hloupe PHP, mu chybi polovicka pouzitelnych znakovych sad.

header("Content-Type: text/html;charset=ISO-8859-1");
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
nightfish
Profil
Uz to mam, hloupe PHP, mu chybi polovicka pouzitelnych znakovych sad.
můžeš pro nás méně chápavé napsat, co bylo příčinou problému a v čem spočívalo řešení?
peta
Profil
nightfish
pro mene chapave...
radek header... zamenit za zmineny header v Uz to mam
radek <meta... zamenit za zmineny meta v Uz to mam

'hloupe PHP, mu chybi polovicka pouzitelnych znakovych sad ' pro funkci htmlentities a neumi kodovat win-1250
$y = htmlentities($x);
Cili, pokud je funkce nastavena na ISO-8859-1 , tak to vsechno bez problemu zakoduje, jak ma.
Samozrejme zakomentovat nahrazeni pres urlencode, ktere je jen pokus.

Nerikam, ze je to dobre reseni, ale zatim to funguje. Radeji bych mel lepsi.

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: