Diskuze: Interpunkce a MySql (celkově Sql + email)

Ostatní jazyky SQL SQL a databáze Interpunkce a MySql (celkově Sql + email)

Aktivity (1)
Avatar
Jakub Chuděj:15. července 18:32

Ahoj,
posledních pár dní bojuji s problémem interpunkce a Sql dotazu.

Dříve jsem si psal nějaké blbosti na free webech, především mě zajímalo sql a php.

Nyní jsem se rozhodl napsat si webovou aplikaci.

Koupil jsem si doménu a webhosting, začal psát, ale ouha, problém je na světě, zjistil jsem, že mi formuláře nezapisují do Sql interpunkci, místo toho tam hází zrůdnosti(a to doslova :D).

Koukal jsem se, jestli mám jednotlivé stránky projektu v UTF8, dále jestli mám databázi, tabulky a jednotlivé sloupce v UTF8 a mám (utf8_czech_ci), dokonce jsem se dostal do stavu, kdy jsem si udělal jednu stránku bokem s textboxem a řádkem php, kde testuji interpunkci a založil i novou tabulku v databázi pro klid v duši a beze změny.

Nejdříve jsem myslel, že za to může script, který zabraňuje Injection útoku, tak jsem ho zakomentoval, již nemám problém do emailu vecpat interpunkci z textových polí, ale pořád mi do sql nejde interpunkce.

Zbavovat se scriptu proti Injectionu se nechci, i když se jedná o blbý email, odesílající potvrzení registrace společně s heslem a jménem. A kvúli databázi už tuplem ne. :)

Ovšem co mi nejde do hlavy je to, že na jiných webech (free) mi šlo vše bez problému, tedy až na email, ten zkouším poprvé. :D

Díky moc za rady. :)

Odpovědět 15. července 18:32
Kdo chce, hledá způsob, kdo nechce, hledá důvod.
Avatar
Peter Trcka
Redaktor
Avatar
Peter Trcka:15. července 18:49

ahoj skus toto:

$dbh = new PDO("mysql:$connstr",  $user, $password);
$dbh->exec("set names utf8");

v starsich veriziach nie vzdy prejde chrset v construktore

a v db by som namiesto namiesto utf8_czech_ci pouzil utf8_unicode_ci

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 15. července 18:49
Avatar
Jakub Chuděj:17. července 9:43

Tak vyřešeno, děkuji za pomoc,
pro můj účel, kdy používám přístup mysqli pomohlo

mysqli_set_charset($con,"utf8");

Díky moc. :)

Nahoru Odpovědět 17. července 9:43
Kdo chce, hledá způsob, kdo nechce, hledá důvod.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.