Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jakub Chuděj:15.7.2017 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.7.2017 18:32
Kdo chce, hledá způsob, kdo nechce, hledá důvod.
Avatar
Peter Trcka
Člen
Avatar
Peter Trcka:15.7.2017 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í
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
15.7.2017 18:49
Avatar
Jakub Chuděj:17.7.2017 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.7.2017 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.