Autor | Zpráva | ||
---|---|---|---|
BliXer Profil |
Prosím pomohli byste mi s mým problémem? Zde vidíte ukázku php kódu pro vložení informací do databáze:
<?php if ((empty ($_POST)) and (empty ($_POST['nadpis'])) and (empty ($_POST['kategorie'])) and (empty ($_POST['nahled'])) and (empty ($_POST['obsah']))) { } else { include ("config.php"); $nadpis = empty($_POST['nadpis']) ? "" : $_POST['nadpis']; $kategorie = empty($_POST['kategorie']) ? "" : $_POST['kategorie']; $nahled = empty($_POST['nahled']) ? "" : $_POST['nahled']; $obsah = empty($_POST['obsah']) ? "" : $_POST['obsah']; mysql_query('INSERT INTO clanky (nadpis,kategorie,nahled,obsah) VALUES ("'.$nadpis.'","'.$kategorie.'","'.$nahled.'","'.$obsah.'")') or die(mysql_error()); } ?> Vkládání funguje správně, ale jen dokud nepoužívám diakritiku, všechny další znaky po písmenu s diakritikou (např. háček nebo čárka) se už nevloží.Config.php obsahuje také připojení k databázi. Formát kódováni nastaven na Utf-8. Děkuji za pomoc. Moderátor Alphard: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
bohyn Profil |
#2 · Zasláno: 7. 4. 2010, 23:00:56
BliXer:
Zabezpeč si vkládané proměné pomocí mysql_real_escape_string(). Předejdeš tim i SQL injection |
||
Alphard Profil |
#3 · Zasláno: 7. 4. 2010, 23:03:28
voláte set names?
mysql_query("set names 'utf8'"); |
||
BliXer Profil |
#4 · Zasláno: 8. 4. 2010, 15:55:30 · Upravil/a: BliXer
Alphard:
> voláte set names? ano volám |
||
Kajman_ Profil * |
#5 · Zasláno: 8. 4. 2010, 16:05:18
Když si vypíšete ten insert, tak je v utf8 diakritika v pořádku? Sloupec tabulky je v db nastaven na jakou znakovou sadu?
|
||
BliXer Profil |
#6 · Zasláno: 8. 4. 2010, 16:09:09
Kajman:
„Když si vypíšete ten insert, tak je v utf8 diakritika v pořádku? Sloupec tabulky je v db nastaven na jakou znakovou sadu?“ Při var_dumpu dané proměnné je vše OK, nicméně se tam diakritika neuloží. V phpmyadmin je přesně to co se i vypíše, tedy všechny znaky před znakem s diakritikou. Sloupec má znakovou sadu utf8_general_ci. |
||
Kajman_ Profil * |
#7 · Zasláno: 8. 4. 2010, 16:40:50
Takže při dumpu koukáte v prohlížeči s nastaveným kódováním na utf8 a když si vypíšete kompletní insert a dáte ho do pma, tak je to v pořádku?
A je možné vidět ten config.php? Heslo si můžete změnit. |
||
BliXer Profil |
#8 · Zasláno: 8. 4. 2010, 17:04:47
<?php mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD) or die("Nelze se pripojit k MySQL: " . mysql_error()); mysql_select_db(SQL_DBNAME) or die("Nelze vybrat databázi: ". mysql_error()); mysql_query("SET NAMES UTF8"); ?> |
||
Časová prodleva: 14 let
|
0