Ano, mohu.
Neřekli jste serveru Mysql, jaké kódování dat chcete.
Mysql může poskytnout jakékoli kódování v případě, že se kódování vaší stránky liší od kódování uložených dat. A překódujte jej za běhu.
Musí mu tedy být sděleno preferované kódování klienta (váš kód PHP je tím databázovým klientem).
Ve výchozím nastavení je to latin1
. Protože tedy v tabulce znaků latin1 žádné takové symboly nejsou, vrací se místo nich otazníky.
Existují 2 způsoby, jak říci mysql, jaké kódování chceme:
- trochu preferovanější je mysqli_set_charset() funkce (ve vašem případě metoda).
- méně preferovaný je
SET NAMES
dotaz.
Ale pokud používáte rozšíření mysqli správně, na tom opravdu nezáleží. (ačkoli nejste)
Všimněte si, že v mysql se toto kódování nazývá utf8
, bez pomlček a mezer.