Mysql adatbázisból listázott adatoknál kérdőjel az ékezetes betűk helyén mert?
Notepad ++ (UTF-8 BOM nélkül)
Mysql: UTF-8_Hungarian
mi lehet a gáz?
A kilistázó program/függvény/akármi is UTF8-ban van?
Ezen felül BOM-mal lehet, hogy jobb lenne, mert a Unix és a windows más bájtsorrendet használ azt hiszem.
Az, hogy a fájljaid és az adatbázisod is utf8-at használ sajnos még kevés, az adatbázis nyitásakor meg is kell mondanod neki, hogy utf8-ban fogja kapni az adatokat:
SET NAMES = 'utf8'
SET CHARACTER SET 'utf8'
vagy PDO-val:
...->charset('utf8');
#1: A Unix és a Windows is Little-endian, anno a MAC használt big-endian-t, szóval a BOM ebben az esetben mindegy.
Ami viszont nem mindegy, hogy milyen charset van megadva a mysql kapcsolat nyitásakor (#3 leírta).
De nekem volt már dolgom olyannal is, hogy egy örökölt rendszernél anno Latin-1 kódolással hozták létre az adatbázist, MySQL-ben szintén Latin-1 volt, de a PHP fájlok UTF-8-ban voltak és az adatokat is így küldték be. Az eredmény egy nagy katyvasz volt, kínkeserves konvertálgatás után tudtam csak gatyába rázni.
Szóval az is kérdés, hogy bevitelnél rendesen UTF-8 volt-e használva...
Mielőtt bármit elküldesz:
header('Content-type: text/plain; charset=utf-8');
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!