Autor Zpráva
Dlouhán
Profil *
Hezké poledne,

generuji xml dokument z csv souboru přes php. Položka která začíná háčkem se zobrazí bez háčku. Háčky uvnitř slova fungují bez problémů. Např. čertovka ze zobrazí jako ertovka. Nedochází k šifrování znaků. Zkusil j. všechna kódování a pořád to samé. Není problém v nastavení php nebo podobně? Máte někdo s něčím podobným zkušenost?

Děkuji za sebemenší radu nebo nasměrování!
bohyn
Profil
Dlouhán
Tak jeste posli kod kterym ctes ten csv
Dlouhán
Profil *
<?php if (File_exists("hodnoty.csv"))
{
header("Content-type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"windows-1250\"?>\n";
/* echo "<?xml-stylesheet href='styly.css' type='text/css'?>\n";*/
echo "<SHOP>\n";
$cenik = fopen("hodnoty.csv","r");
$data = fgetcsv ($cenik, 1000,";");
$data = fgetcsv ($cenik, 1000,";");
while ($data = fgetcsv ($cenik, 1000,";")) {
if ($data[0] != "") {
?>
<SHOPITEM>
<CODE><?php echo $data[0];?></CODE>
<MANUFACTURER><?php echo $data[1];?></MANUFACTURER>
<NAME><?php echo $data[2];?></NAME>
<CATEGORY><?php echo $data[3];?></CATEGORY>
<DESCRIPTION><?php echo $data[4];?></DESCRIPTION>
<?php
/*větvení výrobků*/

switch ($data[16]):
case "A1":
?>
<PARAMETRY TRIDA="hodnota_1">
<PARAMETR NAME="Nosnost (kg)"><?php echo $data[9];?></PARAMETR>
<PARAMETR NAME="Váha (kg)"><?php echo $data[10];?></PARAMETR>
<PARAMETR NAME="Výška (cm)"><?php echo $data[11];?></PARAMETR>
<PARAMETR NAME="Šířka (cm)"><?php echo $data[12];?></PARAMETR>
<PARAMETR NAME="Hloubka (cm)"><?php echo $data[13];?></PARAMETR>
</PARAMETRY>
<?php
break;


case "A2":
?>
<PARAMETRY TRIDA="hodnota_2">
<PARAMETR NAME="Šířka (cm)"><?php echo $data[12];?></PARAMETR>
<PARAMETR NAME="Průměr (cm)"><?php echo $data[14];?></PARAMETR>
</PARAMETRY>
<?php
break;
default:
echo "";
endswitch;

/*konec větvení */

?>
<PRICE><?php echo $data[5];?></PRICE>
<EUPRICE><?php echo $data[6];?></EUPRICE>
<IMGURL><?php echo "http://www.web.cz/img/".$data[7].".jpg";?></IMGURL>
<AVAILABILITY><?php echo $data[17];?></AVAILABILITY>
<IDES><?php echo $data[8];?></IDES>
</SHOPITEM>

<?php
}

}

fclose($cenik);
echo "</SHOP>";}
else
{echo "Soubor neexistuje!";}
?>
bohyn
Profil
Note: Locale setting is taken into account by this function. If LANG is e.g. en_US.UTF-8, files in one-byte encoding are read wrong by this function. - PHP manual - fgetcsv()
Zkus nastavit kodovani pomoci setlocale()
Dlouhán
Profil *
Velké díky!
Funkce setlocale() pomohla -> setlocal(LC_ALL,'cs_CZ'); ;-) jen kdyby někdo ze začátečníku jako já tápal.
kdyby se někomu nepovedlo přidávám link na stejný problém, nakonec vyřešený jinak - forum http://forum.builder.cz/read.php?20,2370245

Zajímalo by mě, jestli tenhle problém může zpusobit konfigurace v php.ini přesně myslím direktivu mbstring.internal_encoding nastavenou na ISO-8859-1 místo "no value". Je to velká utopie?

Bohyn děkuji za pomoc, snad jednou vrátím!
bohyn
Profil
mbstring s timhle nema nic spolecneho. Myslim ze to zalezi na nastaveni systemu.
Dlouhán
Profil *
ok ;-) zjistím časem díky moc

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: