Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PHP - prevod do UTF-8 z ISO-8859-1

Mám nejaké súbory s názvami v tvare:

<nnn> - Obrázok č. <xx> - <popis obrázka>

Tieto súbory si načítam pomocou funkcie scandir() do tabuľky. Pomocou funkcie explode() rozdelím názov na 3 časti podľa " - " a druhú a tretiu vložím do databáze. Databáza je v kódovaní utf8_general_ci. Po vložení názvov a popisov do databáze objavujem miesto "č" znak "è", miesto "š" znak "š" a podobne. Vedel by mi niekto vysvetliť prečo nefunguje správne prevod do UTF-8 a ako to urobiť poriadne?

Předmět Autor Datum
A máš ve stejném kódování i dokument, kam se to načítá? (<meta http-equiv="content-type" content="te…
Kráťa 16.05.2008 15:40
Kráťa
Aby som upresnil. Do databáze vkladám "na kolene" vyrobeným scriptom a databázu si prezerám cez strá…
msx. 16.05.2008 15:51
msx.
Myslim, že při těhlech problémech se nastavovalo "collation" na začátku skriptu.
angel333 16.05.2008 15:53
angel333
No neviem či má zmysel nastavovať výstupnú kódovú stránku pre skript, keď dáva len informačný výstup…
msx. 16.05.2008 15:56
msx.
Prípadne si ju môžem pozerať aj v phpMyAdmin, kde sú potrebné nastavenia už nastavené. Ale aj na str…
msx. 16.05.2008 15:54
msx.
Takže nastavil som pre databázu MySQL "set names cp1250" a prestal som kódovať do UTF-8. Výsledok je… poslední
msx. 16.05.2008 16:07
msx.

Aby som upresnil. Do databáze vkladám "na kolene" vyrobeným scriptom a databázu si prezerám cez stránku, ktorá má plnohodnotné nastavenie:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

No neviem či má zmysel nastavovať výstupnú kódovú stránku pre skript, keď dáva len informačný výstup o tom, čo vkladá, ale pre nastavenie databáze potrebný riadok mám:

mysql_query("set names 'utf8'");

Edit: Práve ma napadlo, že by som to mohol oklamať tak, že budem akkože vkladať ISO-8859-1 a databáza si to skonvertuje na UTF-8 sama.

Zpět do poradny Odpovědět na původní otázku Nahoru