kodeering php mysql

  • Et kas keegi võiks kinnitada, ümber lükata või täiendada minu arusaamist kodeeringutest.. näitena mysql/php, utf8/latin1

    1. Andmete kuju tabelis bittidena
    2. Markeering tabelile
    3. Markeering andmebaasile
    4. Ühendus
    5. Veebiserveri saadetud headerid
    6. PHPst saadetud headerid
    7. HTML headis määratud kodeering

    PHPst MySQLi ühendus peaks sõltuma andmebaasile määratud character setist?

    18. november 2008 - 01:00:53 · Otselink

  • jah, sõltubki ja see kuidas mysql on võimeline tähestikku järjestama sõltub collationist mida kasutatakse

    http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

    SET NAMES 'charset_name' COLLATE 'collation_name'

    kui sul tabelid mingis muus encodingus, siis tehakse collationit kasutades konvertimine jooksvalt, lisab muidugi overheadi ja seega oleks mõistlik hoida tabelid vähemalt utf-8 -s. Andmete salvestamisel phpst kasutada mysql_real_escape_string() funki kuna see küsib mysqli käest kasutatava charseti ja oskab escapeda ka kõik multibite häkid.

    18. november 2008 - 07:40:20 · Otselink

  • Jaa, aga kui andmebaas utf8, collation määratud utf8_general_ci, siis miks PHPst MySQLi ühendus on näitab: [charset] => latin1 [collation] => latin1_swedish_ci ja siis julgelt UTF8 andmeid latin1-te veel viib?

    18. november 2008 - 11:32:13 · Otselink

  • sul on set names -pandud ennem query tegemist UTF -8 peale?

    18. november 2008 - 13:21:56 · Otselink

  • ei, kuid kas PHP ise ei peaks seda automaatselt tegema?

    18. november 2008 - 14:03:16 · Otselink

  • ei pea , kui sul mysql serveri default charset on latin, siis klient kasutab seda

    18. november 2008 - 14:11:22 · Otselink

  • peale connectioni avamist tee mysql_query("SET NAMES 'charset_name' COLLATE 'collation_name'") ja su mure on lahendatud

    1. avan connectioni
    2. ütlen millist charseti kasutan ja collationit
    3. väljundis lisan headeriga encodingu
    4. htmlis lisan meta tagiga encodingu

    kogu pull

    18. november 2008 - 14:13:16 · Otselink

  • Tänantänan

    18. november 2008 - 23:48:43 · Otselink