Autor | Zpráva | ||
---|---|---|---|
aha Profil |
Ahoj,
prošel jsem dotazy na tomto fóru, které se týkají kódování a MySQL a odpověď jsem nenašel. Mám tento skript: <?php # PŘIPOJENÍ K SERVERU $spojeni=mysql_connect( 'localhost', 'xxx', 'xxxx') or die ('Spojení se nepodařilo navázat!'); # VYTVOŘENÍ DATABÁZE $databaze="CREATE DATABASE IF NOT EXISTS ovoce CHARACTER SET utf8"; $result=mysql_query($databaze) or die ('Databázi se nepodařilo vytvořit!!!'); # VÝBĚR DATABÁZE mysql_select_db('ovoce') or die ('Spojení s databází se nezdařilo!!!'); # VYTVOŘENÍ TABULKY PRODUCT $table="CREATE TABLE IF NOT EXISTS product ( rowID INT(11) NOT NULL auto_increment, productid VARCHAR(10) NOT NULL, name varchar(40) NOT NULL, price decimal(5,2) NOT NULLl, description mediumtext NOT NULL, PRIMARY KEY (rowID)) CHARACTER SET utf8, COLLATE utf8_czech_ci"; $result=mysql_query($table) or die ('Tabulku se nepodařilo vytvořit!!!'); ?> Ten mi úspěšně vytvoří db a table s požadovaným kódováním a porovnáváním (utf8_general_ci a porovnávání utf8_czech_ci). Problém nastává když db "krmím" daty ze stránky html (charset má utf8). Jakmile dojde na háčky a čárky tak v PMA nepřečtu nic. Poradí někdo kde je chyba? Není to v nastavení PMA? |
||
Nox Profil |
#2 · Zasláno: 7. 9. 2009, 16:36:23
Ano, klikni na Hlavní strana a nastav Porovnávání pro toto připojení k MySQL
V anglickém to určitě najdeš taky |
||
Kajman_ Profil * |
#3 · Zasláno: 7. 9. 2009, 16:39:55
aha:
Po každém připojení si nastavte set names viz. faq. http://diskuse.jakpsatweb.cz/.sandbox/?action=vthread&forum=28&topic=37836 |
||
aha Profil |
#4 · Zasláno: 7. 9. 2009, 17:42:59
Nox:
Díky, tam mám nastaveno utf8_czech_ci, Jazyk mám na Česky-Czech a přesto to nefunguje! Kajman_: Taky díky, koukal jsem na to už předtím, než jsem položil dotaz. Nefunguje nic z toho. Koupil jsem si knížku: phpMyAdmin - efektivní správa MySQL, autor: Marc DeLisle, vydal: Zonerpress. Zkoušel jsem nastavení PMA podle ní, ale mám verzi z Vertriga tzn. "ořezaný" soubor config.inc.php, tak jej zkusím nahradit orig. PMA a uvidím. Už opravdu nevím co s tím. Dám vědět pokud na něco přijdu, protože je to zde často řešený problém. |
||
Kajman_ Profil * |
#5 · Zasláno: 7. 9. 2009, 21:04:01
Když vložíte data z pma, tak jsou v pma dobře?
|
||
aha Profil |
#6 · Zasláno: 8. 9. 2009, 08:54:23
Kajman_:
Myslíte, když je vložím přímo do PMA? Pokud ano, tak odpověď je - ano, jsou správně. |
||
Kajman_ Profil * |
#7 · Zasláno: 8. 9. 2009, 09:01:16
Tak nehledejte problém v pma. Hledejte ho ve vkládacím skriptu. Ještě třikrát zkontrolujte, zda tam po připojení nastavujete set names na kódování, ve kterém je html formulář!
|
||
aha Profil |
#8 · Zasláno: 8. 9. 2009, 10:00:57
Vkládací formulář je vytvořen v PsPadu (kódování utf-8), nastavení znakové sady:
<meta http-equiv="content-type" content="text/html; charset=utf-8"> Kód zpracování formuláře - modifikace_dat.php: <?php # PŘIPOJENÍ K SERVERU $spojeni=mysql_connect( 'localhost', 'xxx', 'xxxx') or die ('Spojení se nepodařilo navázat!'); # VÝBĚR DATABÁZE mysql_select_db('ovoce') or die ('Spojení s databází se nezdařilo!!!'); # vložení získaných dat if(isset($_POST['submit'])){ # přiřazení hodnot odeslaných metodou POST proměnným $productid=$_POST['productid']; $name=$_POST['name']; $price=$_POST['price']; $description=$_POST['description']; echo "productid: $productid<br />"; echo "name: $name<br />"; echo "price: $price<br />"; echo "description: $description"; # vložení získaných hodnot do tabulky product $sql="INSERT INTO product SET productid='$productid', name='$name', price='$price', description='$description'"; $vysledek=mysql_query($sql) or die ('Výrobek se nepodařilo vožit'); echo "Výrobek úspěšně vložen!!!"; mysql_close(); } ?> Kód pro vytvoření databáze a tabulky viz. výše. Nikde tam problém nevidím. Paradoxní je, že když načtu data z db (skriptem), tak se ty co jsou v PMA zkomolené zobrazí správně, a ty "ručně" upravené (správně zobrazené v PMA) se zbrazí špatně - myslím tím v prohlížeči FF - znaková sada nastavena na utf-8. IMHO asi to opravdu bude nějaký problém s nastavením v PMA. |
||
Kajman_ Profil * |
#9 · Zasláno: 8. 9. 2009, 10:05:09
Proč ignorujete radu #3?
|
||
aha Profil |
#10 · Zasláno: 8. 9. 2009, 10:51:28
Jestli myslíte to SET NAMES utf8
, tak to jsem vyzkoušel a nezabíralo to. Nicméně zkusím ještě jednou... |
||
aha Profil |
#11 · Zasláno: 8. 9. 2009, 10:58:27
Kajman_:
Díky moc, zkusil jsem ještě jednou a funguje to perfektně. Asi jsem předtím někda udělal chybku. |
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0