Ja, det kan jeg.
Du fortalte ikke Mysql-serveren, hvilken datakodning du ønsker.
Mysql kan levere enhver kodning, hvis din sidekodning er forskellig fra lagret datakodning. Og omkode det med det samme.
Derfor skal det fortælles om klientens foretrukne kodning (din PHP-kode er databaseklienten).
Som standard er det latin1
. Derfor, fordi der ikke er sådanne symboler i latin1-tegntabellen, returneres spørgsmålstegn i stedet.
Der er 2 måder at fortælle mysql, hvilken kodning vi ønsker:
- en lidt mere foretrukket er mysqli_set_charset() funktion (metode i dit tilfælde).
- mindre foretrukket er
SET NAMES
forespørgsel.
Men så længe du bruger mysqli-udvidelsen korrekt, betyder det ikke rigtig noget. (selvom du ikke er det)
Bemærk, at i mysql kaldes denne kodning utf8
uden bindestreger eller mellemrum.