Oldal: 3 / 4 ElsőElső 1234 UtolsóUtolsó
Eredmény: 21 - 30 (38) összesen

Téma: Hibás karakterkódolás - hihetetlen...

  1. #21
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.784
    Begyűjtött 863 köszönetet
    659 hozzászólásával

    Alapbeállítás re: Hibás karakterkódolás - hihetetlen...

    Idézet sandor555 eredeti hozzászólása Hozzászólás megtekintése
    nem akarom elkiabálni, de most jó... pillanat, letesztelem jobban! )

    szerk: bocs a dupláért.
    Sajna nem lett jó, annyi történt, hogy kivettem a mysql_query('SET NAMES utf8'), aztán ráfrissítettem az űrlapra, és jól írta ki az adatokat.
    Gondoltam akkor újra űrlap, adatok beírása, és... most már az adatbázisba is rosszul írja be. Viszont megint előjött az, hogy ha kijavítom az adatbázisban, akkor jól írja ki. (ezért volt jó elsőnek amikor ráfrisítettem az űrlapra, mert a hozzá tartozó adatok jók voltak az adatbázisban)
    Persze, ha az adatbázisnak nem adod meg, hogy a kérések UTF-8 formátumban mennek, akkor ne várd el, hogy UTF-8 adatot kapjon és tároljon. Set names utf8 nélkül a query-k nem utf-8-ként futnak, tehát a bennük lévő stringek is átkonvertálódnak. Így nem az kerül az adatbázisba.

    Ha az adatbázsban jól jelenik meg, UTF-8-ban, de a kijelzés nem oké, akkor a kijelző php fájllal lesz a gond. Pl. mégsem utf-8-ban van mentve, vagy kiírásnál nincs UTF-8 kódolás megadva. Az, hogy a form php-ja UTF-8, a lekérdezések UTF-8-ak és az adatbázis is UTF-8, nem jelenti, hogy a kiírás feltétlen az lesz. Annak a scriptnek is UTF-8-ban kell lennie lementve, ami kiírja az adatokat, és ott is illik kiküldeni az UTF-8 headert.



  2. #22
    Mentor sandor555 logója
    Csatlakozott
    10-02-20
    Hozzászólás
    373
    Begyűjtött 50 köszönetet
    33 hozzászólásával

    Alapbeállítás re: Hibás karakterkódolás - hihetetlen...

    2 fájlról van szó, és mindkettőben megcsináltam mindent amit lehetett.



  3. #23
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.784
    Begyűjtött 863 köszönetet
    659 hozzászólásával

    Alapbeállítás re: Hibás karakterkódolás - hihetetlen...

    Idézet sandor555 eredeti hozzászólása Hozzászólás megtekintése
    2 fájlról van szó, és mindkettőben megcsináltam mindent amit lehetett.
    Igen, ez világos, szerintem viszont abban a php-ban, ahol kiírod az adatokat, valami nem oké. Ha az adatbázisban már jól jelenik emg, akkor a form karakterkódolása és az adatbázis karakterkódolása tuti rendben van. Tehát maradt az, hogy a kiíró php-nál valai nem stimmel. Amit nézz meg abban a php-ban, ahol kiírod az adatokat:
    1. Tuti ki van küldve a header az UTF-8-ról?
    2. HTML meta ott is kint van?
    3. Ott is van set names adatbázis kapcsolódás után?
    4. A kiírásnál nincs valami konvertáló függvény meghívva, ami nem kell, de bent maradt itt a módosítgatások közben?
    5. A kiíró php is utf-8-ban van mentve?

    Félreértés ne essék, nem hülyének nézlek/nézünk, és azért kérdezgetjük ezt. Tapasztalatból tudom, hogy ilyen apróságokon úszik el az esetek 90%-ban az, hogy működik-e valami. Hogy az ember azt hiszi, hogy jól megcsinált valamit, de mégsem. A maradék 10% meg inkább a tudás hiánya. Vagy legyen 9,999%. És a maradék 0,001% csak az, hogy valami hiba van a használt cucokal, ezesetben php vagy mysql. Persze a számok nem reprezentálják pontosan a valóságot, de kb. értéknek okésak. És ezért érdemes akár háromszor is lecsekkolni a dolgokat, mindig tiszta fejjel nekiülve.

    Ha szerinted minden oké, akkor láthatnánk a kódot? Az adatbázis felhasználónevet, jelszót azt persze vedd ki belőle.


    Utoljára módosítva: Emphus által : 2014-01-25 20:15

  4. #24
    Bölcs earnnet logója
    Csatlakozott
    12-08-15
    Hely
    Budapest
    Hozzászólás
    1.815
    Begyűjtött 804 köszönetet
    572 hozzászólásával

    Alapbeállítás re: Hibás karakterkódolás - hihetetlen...

    Van egy olyan "véletlen" jelenség is, hogy ha te a kapcsolat UTF8 formátumú egyeztetése nélkül írsz az adatbázisba, és szintén UTF8 meghatározása nélkül olvasol belőle, jól jelenhetnek meg az adatok akár ANSI kódolású .php fájllal kiíratva. Viszont az adatbázisban rosszul marad letárolva. Tehát nem lehetetlen találni egy működő, de mégsem helyes kombinációt, de ha egyszer integrálnod kell egy más szolgáltatással, ahol máshogy vannak tárolva az adatok (pl. tiszta UTF8), az nagy érvágás. Szóval akkor örülj igazán, ha működik is, és az adatbázisban (úé. phpmyadminban) is jól jelennek meg a dolgok. Ezt tapasztalatból mondom, nekem egyszer sikerült naivan belemenni abba, hogy működik, hagyom így, aztán amikor 400 cikket és egy csomó egyéb szöveges tartalmat kellett átkonvertálgatni (pár helyen duplán is volt lekódolva), már nem volt már olyan nagy buli helyrehozni.



  5. #25
    Mentor sandor555 logója
    Csatlakozott
    10-02-20
    Hozzászólás
    373
    Begyűjtött 50 köszönetet
    33 hozzászólásával

    Alapbeállítás re: Hibás karakterkódolás - hihetetlen...

    Emphus: végignézem újra. PM-ben elküldök 1-2 dolgot, hátha én nem vettem észre valamit
    earnnet : alapból össze-vissza voltak, és nem működött, azért kezdtem el foglalkozni a kódolással.



  6. #26
    Új tag emeric logója
    Csatlakozott
    10-05-15
    Hozzászólás
    45
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Hibás karakterkódolás - hihetetlen...

    Pár hónapja amikor php-ben kellett írogatnom nálam is előjött ez a probléma, elvileg mindent megnéztem, kipróbáltam, ami fentebb is le lett már írva, végül nálam az lett a nyerő, hogy a mysql lekéréseket egy PDO objektumon keresztül hajtottam végre:

    $db = new PDO(amik ide kellenek);
    $db -> exec("set names utf8");

    $db->query("SELECT...");



  7. #27
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.784
    Begyűjtött 863 köszönetet
    659 hozzászólásával

    Alapbeállítás re: Hibás karakterkódolás - hihetetlen...

    No, a helyzet az, hogy PDO-t használsz, és nem vagyok benne biztos, hogyha PDO használat mellett sima mysql_query-vel csinálsz lekérdezéseket, akkor azoknak lesz bármilyen hatása is, azon kívül, hogy elszállnak API errorral. Nézd meg, hogy hol van a PDO példányosítva, milyen változónévvel, pl. $db. Ezután $db -> exec("SET NAMES utf8"); adatbázis kapcsolódás után.



  8. #28
    Tag kléni logója
    Csatlakozott
    13-05-27
    Hely
    Nyíregyháza
    Hozzászólás
    71
    Begyűjtött 10 köszönetet
    10 hozzászólásával

    Alapbeállítás re: Hibás karakterkódolás - hihetetlen...

    Nem kell ahhoz PDO, hogy megoldjuk a problémát. Évekig ment eléggé sok oldal mysql_ függvényekkel is UTF-8 mellett.



  9. #29
    Bölcs earnnet logója
    Csatlakozott
    12-08-15
    Hely
    Budapest
    Hozzászólás
    1.815
    Begyűjtött 804 köszönetet
    572 hozzászólásával

    Alapbeállítás re: Hibás karakterkódolás - hihetetlen...

    A probléma valóban teljesen független attól, hogy milyen db drivert használsz. Nyugodtan használhatod a régi mysql_ függvényeket, ha a PHP verziód megengedi, semmi bajod nem származik belőle, hogy nem tértél át mysqli_ -re, vagy PDO-ra. Másrészt általában nem úgy működik, hogy van egy weblapod, és 40 külön php fájlban mindenhol átírogatod PDO-ra valami jobb reményében. Ahelyett, hogy megtanulnád használni, amid van.



  10. #30
    Mentor sandor555 logója
    Csatlakozott
    10-02-20
    Hozzászólás
    373
    Begyűjtött 50 köszönetet
    33 hozzászólásával

    Alapbeállítás re: Hibás karakterkódolás - hihetetlen...

    Még nem sikerült megoldani a problémát, lehet nem is fogom. A probléma azzal, hogy ez a "speciális" űrlap nem saját, írni meg tudás híján nem tudok nyilván.
    Mindegy, ez viszont már nem ide tartozik, köszönöm mindenkinek a tippeket.



A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •