Kezdőoldal » Számítástechnika » Weblapkészítés » MySQLi karakterkódolás problém...

MySQLi karakterkódolás probléma. Valaki segítene?

Figyelt kérdés

Egy üzenőfal szkriptet készítek. Van egy adattáblám, abban van 4 oszlop: id, név, dátum, url

Van egy űrlap, ahol megadják az adatokat, ezekre ráteszem a htmlspecialchars függvényt. Minden pöpecül működik, kivéve persze a karakterkódolást. Bárhogy állítom be, ha ő,ű, stb betűket írok be a mezőkbe egyszerűen üresen hagyja az adatbázisban a táblában azt a cellát. Hogyan tudnám ezt orvosolni?



2015. ápr. 13. 21:15
 1/9 anonim ***** válasza:

mindent UTF8 -ra és nem lesz gondod.

Fájl, HTML és PHP header, SQL...

2015. ápr. 13. 21:30
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
A SQL-nál hogyan kell? ott külön be kell állítani a táblát is?
2015. ápr. 13. 21:32
 3/9 A kérdező kommentje:
Közben sikerült, úgy ahogy mondtad, nagyon köszönöm!!!!
2015. ápr. 13. 21:37
 4/9 anonim ***** válasza:

Még annyi hogy a fájloknál UTF8 BOM nélkülibe tárold.

Ez azt jelenti hogy a speciális karakterek UTF8 -as kódolásúak, így legtöbb nyelv speciális nem Latin1 -es karaktere is elérhető.

De nincs a fájl elején azok a speciális karakterek, amik header módosításánál gondot okozhat.


És igen, az adatbázis kapcsolat, tábla, cella tulajdonságainál is be kell állítani. (utf8_general_ci)

MySQLi: mysqli_query($conn,'SET NAMES utf8');

PHP: header("Content-Type: text/html; charset=utf-8");

HTML 1 - 4 -ben: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

HTML 5 -ben: <meta charset="utf-8" />

2015. ápr. 14. 08:11
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:

Ha az adatbázis úgy van létrehozva, nem kell táblánként és mezőnként átállítani, csak ha utólag van átállítva. (Cella itt nincs.)


Azt tudja valaki, miben különbözik a general_ci meg a hungarian_ci?

2015. ápr. 14. 08:21
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
De már meg is találtam a választ, az utf8_hungarian_ci a magyar szabályok szerint rendezi ábécébe a szövegeket, a general meg nem. Tehát inkább hungariant kellene használnia a kérdezőnek.
2015. ápr. 14. 08:27
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:

A rendezés mellett az összehasonlítás a különbség még.

utf8_general_ci -nél nem számít a kis-/nagybetű, az ékezet. (pl. o = ö, o = ó)

utf8_hungarian_ci -nél szintén nem számít a kis-/nagybetű, de az ékezet már nem teljesen mindegy (pl. o <> ö, csak o = ó).


Felhasználási területtől függ, hogy melyiket érdemes használni. Én pl. bizonyos keresések miatt az utf8_general_ci -t használom, de talán megfelelő lenne az utf8_hungarian_ci is.


De van olyan hely, ahol meg utf8_bin -t használok, mert csak a teljesen megegyezőkre van szükségem...

2015. ápr. 14. 09:09
Hasznos számodra ez a válasz?
 8/9 A kérdező kommentje:

Köszönöm a többieknek is a választ. A fájl eleve UTF-8 bom nélkülre volt állítva, ezért is nem értettem hogy miért nem működik. A tábla úgy néz ki eleve utf8_general_ci-re volt beállítva. Nekem jó ez így, úgyis csak egy egyszerű üzenőfal, de azért köszi a tippeket.

A cellát csak azért írtam mert más szó nem jutott az eszembe erre :D

2015. ápr. 14. 15:56
 9/9 anonim ***** válasza:

#7: pont ezért ajánlom az utf8_general_ci -t.

Mert ha csinál keresőt, igaz pontatlan lesz, de sok esetben hasznos, mert ugye az ó ö ő ú ü ű í á é -t elég sok féle képen betudják írni attól függően milyen a kliens eszköz:

a á à â ä ǎ ă ā ã å

e é è ê ë ě ĕ ē ẽ ė

i í İ î ï ǐ ĭ ī ĩ ı

o ó ò ô ö ǒ ŏ ō õ ő

u ú ù û ü ǔ ŭ ū ũ ů ű

2015. ápr. 14. 19:30
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!