Kezdőoldal » Számítástechnika » Weblapkészítés » AJAX <-> mySQL Karakterkódolás?

AJAX <-> mySQL Karakterkódolás?

Figyelt kérdés

Van egy php-s lap. Egyik divbe ajaxxal betöltöm az adatokat adatbázisból textboxokba, amit ide írok azt pedig beírom db-be. (-> ajaxxal nyitom meg ezt a php-t, mielőtt frissít, mindent átkonvertálok iso-rol utf-8ra)


Minden php-s lapom, meg minden header, és amiben szórakozok oldal metaja, és xml izéja(ez nem biztos h jo) ISO-8859-2es.

DB kiszolgálókapcsolat illesztése utf8_general_ci, oszlopok pedig utf16_magyar.


MI A GONDOM: oldalra minden jól töltődik be, minden ékezet stimmel, ŐőŰű is, DE az adatbázisba ezek kerülnek: ÕõÛû.

Mielőtt lefuttatja a frissítést, kiirattam mit frissít és milyen url-t küld, itt még stimmelnek.

A lapomon amit betöltök a db-ből(ÕõÛû) az lesz ŐőŰű, DE ha db-ben átírom rendes betűre, akkor betöltve ???? lesz.

Mi lehet a gond? Valami ötlet?



#php #hiba #karakterkódolás #Ajax #MySQL #ŐőŰű #rosszul jelenik meg
2012. szept. 25. 15:39
 1/6 A kérdező kommentje:

<?xml version="1.0" encoding="ISO-8859-2"?><ajax-request><addmsg><![CDATA[]]></addmsg></ajax-request> ez kell bele? jól írtam? meta után kell?

+ headert cserélgettem mindenhol, hogy utf-8 legyen + a fájl kódolását is, vegyesen, mindenhogy, de sehogy nem jó.

2012. szept. 25. 15:43
 2/6 A kérdező kommentje:

Most megcsináltam újra az adatbázist, az oszlopok latin2esek.

Most az történik, hogy hiába küldöm el az ŐőŰű betűket, db-ben most nem "ÕõÛû" hanem "????" lesz, ÉS db-ben beírva ugyanúgy ?-eket mutat ezekre a betűkre.

2012. szept. 25. 16:03
 3/6 A kérdező kommentje:

Előző üzenetemhez:

db-ben beírom, úgy is marad, de oldalon ? lesz. Ellenőrzöm ahogyan előbb:minden jónak tűnik.


Nincs ötletem mit kéne tennem.

2012. szept. 25. 16:05
 4/6 A kérdező kommentje:

Ajaxban:

var data = $('#SqlUpdateFrom').serialize();

alert(data); //ezt az urlt leforditom akkor jol mutatja

xmlhttp.send(data);


php, amit meghívok ajaxxal:

$nev = mysql_real_escape_string(mb_convert_encoding($_POST["nev"][$id], "ISO-8859-2", "UTF-8")); //kiprintelem, jók a betűk.

2012. szept. 25. 16:12
 5/6 Drone007 ***** válasza:

Célszerű mindent (fájlokat is) egy kódoláson tartani (erősen javasolt az UTF8 (w/o BOM)), mert a többszörös kódolásba csak bele fogsz hülyülni, és tuti, hogy kihagysz valahol valamit (ahogy a példa is mutatja).

Ha végképp nem tudod mit hogy kódolsz, akkor kódolj mindent latinná (php: utf8_encode/utf8_decode), azt minden tárolja, csak kiiratásnál figyelj, hogy egyszeresen kódolj vissza.

2012. szept. 25. 22:25
Hasznos számodra ez a válasz?
 6/6 SipiZork ***** válasza:

$valami= mb_convert_encoding($_POST["valami"], "ISO-8859-2", "UTF-8");

értelemszerűen $valami kerül feltöltésre.


nekem ez oldotta meg, ezt a gondot.

2012. okt. 5. 13:19
Hasznos számodra ez a válasz?

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

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!