Problém s kódováním (nepomohla ani instalace nového MySQL)

Zdravím Už jsem jednou tento problém řešil na jiném fóru, ale bohužel se nevyřešil. Problém je v zaznamenávaní znaků s diakritikou do MySQL databáze.Nastavuji kódování při vytvoření tabulky, připojení k db i při vkládání dat ale stále se stejným výsledkem znaky jako č,š apod..se zobrazí jako otazníky.Nepomohla ani instalace nového MySQL, ani FAQ co jsem četl..zkrátka nic..hlavně mě vadí, že i když nastavuji všude to kodování, tak i přes to to nejede korektně.. Už vážně nevím, co může býti špatně??

Pro úplnost přikládám kód pro vytvoření vytvoření tabulky, připojení k db i a pro vkládání dat..

Kdyby ta chyba někoho trefila do očí, byl bych moc vděčný, už jsem vyzkoušel vše…

Děkuji za každou radu..

[b]Vytvoření DB[/b] [pre]<?php
$sql = „CREATE TABLE IF NOT EXISTS seznam (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
interpret VARCHAR(30) NOT NULL,
album VARCHAR(30) NOT NULL,
styl TEXT(30) NOT NULL,
rok_vydani YEAR(4),
zeme_puvodu TEXT(30),
kdy_zaloha VARCHAR(15) NOT NULL,
kde_najdu VARCHAR(15) NOT NULL
)
TYPE = myisam,
COLLATE utf8_general_ci;“;

if(!mysql_query($sql)) {
echo mysql_error();
echo(„Nepodařilo se vytvoøit databázovou tabulku,zkontrolujte nastavení v db_create.php“);
} ?> [/pre]

[b]Spojení [/b] [pre]<?php $id_spojeni = mysql_connect(‚localhost‘,‚root‘,''); //command for db connect with three parameters server,user,password if (!$id_spojeni){ die(‚Spojeno s Mysql DB se nezdarilo.‘); }

$vysledek_vybrani = mysql_select_db(‚pokus‘,$id_spojeni); if (!$vysledek_vybrani){ die(‚Databazi pokus se nepodarilo vybrat.‘); }

$nastaveni_kodovani = mysql_query(„SET NAMES ‚utf8‘“); if (!$nastaveni_kodovani){ die(‚Nepodařilo se nastavit kódování.‘); }

?>[/pre]

[b]Vložení dat[/b] [pre]<?php include(„db_connect.php“); //Starting app with verify connect to database mysql_query(„SET CHARACTER SET utf8“); $set = array();

$set[„interpret“] = „‚$_POST[interpret]‘“; $set[„album“] = „‚$_POST[album]‘“; $set[„styl“] = „‚$_POST[styl]‘“; $set[„rok_vydani“] = „‚$_POST[rok]‘“; $set[„zeme_puvodu“] = „‚$_POST[puvod]‘“; $set[„kdy_zaloha“] = „‚$_POST[zaloha]‘“; $set[„kde_najdu“] = „‚$_POST[umisteni]‘“;

$sql =(„INSERT INTO seznam (“ . implode(„, ", array_keys($set)) . ") VALUES (“ .strtolower(implode(„, ", $set)) . “)");

$vysledek_vlozeni = mysql_query($sql); if (!$vysledek_vlozeni){ die(‚Nepodarilo se vlozit novy radek.‘); } else{ echo ‚podarilo se vlozit novy radek‘; } ?>[/pre]

Jde opět o porovnávání

Upravit porovnávání ještě před vytvářením tabulek. Určit si, v jakém kódování budu mít soubory na webu. Pak zadat porovnávání po vytvoření databáze.
Po vytvoření bývá znaková sada u databáze nastavena defaultně na latin1_swedish_ci nebo latin2_general_ci. Pokud máte v plánu využívat jinou znakovou sadu (porovnávání) bude nutné ji před vytvářením nových tabulek změnit. Pokud byste totiž ponechali původní hodnotu, vytvářeli novou tabulku bez určení znakové sady pro porovnávání (což se velmi často stává u skriptů, které vytvářejí tabulky pro nějaký redakční systém - jen velmi zřídka je zde definice znakové sady), bude automaticky převzata přednastavená a měli byste později problémy s importem a exportem dat.
Pro nastavení se přihlásíte na webové rozhraní a kliknete na název databáze (vlevo nahoře). Poté ze seznamu v horním menu (vpravo) vyberete tlačítko "Úpravy" a nastavíte potřebnou znakovou sadu.

Druhá možnost je přímo spustit SQL dotaz na databázi (místo xxxxxx doplníte název databáze), verze pro UTF8:
ALTER DATABASE `xxxxxx` DEFAULT CHARACTER SET utf8 COLLATE utf8_czech_ci

Pro kódování windows-1250 je dotaz na databázi tento:
ALTER DATABASE `XXXXXXXX` DEFAULT CHARACTER SET cp1250 COLLATE cp1250_czech_cs

Nazvěte svůj omyl zkušeností - a jeho tíže bude hned o polovinu lehčí. :-)