PHP Apache MySQL lokalizacia

Sekcia: Programovanie 28.10.2005 | 02:13
Koli   Návštevník
Zdravim, Robim teraz novy projekt na konfiguracii Apache 2.0.54 MySQL 4.1 PHP 5.0.4 A mam problemy s SK lokalizaciou. Neviem co vsetko sa zmenilo, lebo predtym som robil na (1.x;3.23;4.0) a tam som taky problem nemal. Ide o to ze v MySQL je defaultset latin2. Cez standardnych MySQL klientov vidim vsetky makcene. Ale ked sa to nacita cez PHP a zobrazi cez Apache tak diakriticke znaky vidim ako otazniky a stvorceky. V HTML pouzivam ISO-8859-2 (skusal som aj win1250 bezuspesne). Ak mate nejaky tip tak napiste, alebo ak Vam to funguje v tychto verziach OK tak zverejnite alebo mi na mail (koli@koli.sk) poslite Vase php.ini, my.ini, httpd.conf subory. Dik
    • Re: PHP Apache MySQL lokalizacia 18.09.2005 | 12:31
      Avatar svestka Suse 9.3  Používateľ
      niekde som cital ze to sposobuje najnovsia verzia MySql. Skus preinstalovat na trochu starsiu, ale niesom si tym isty. Mozno google poradi ;)
    • Re: PHP Apache MySQL lokalizacia 18.09.2005 | 12:38
      Avatar Tomáš Srnka Barz čo, už asi všetko  Administrátor
      Používam: Apache 2.0.54 MySQL 4.0.25 PHP 4.4.0 Lokalizácia funguje OK. Je naozaj nutné aby to bola MySQL verzia 4.1? (neviem, presne aké rozdiely su medzi nimi). Nie je tam kodovanie UTF-8?
      Dlho som robil linuxos.sk, neskôr založil vpsFree.cz, posledných pár rokov ako tech. riaditeľ vo Websupporte
      • Re: Re: PHP Apache MySQL lokalizacia 18.09.2005 | 20:18
        Koli   Návštevník
        Nie som si isty ze by na vine malo byt prave MySQL, lebo hovorim ze iny klienti (konzola, QueryBrowser) mi funguju v pohode s diakritikou. Neviem ci problem nebude v PHP5. Ale tam nemozem dowgrade-nut lebo uz pouzivam objektovy model z 5. Kodovanie UTF-8 tam urcite je. Prave problem je ze jedine co viem nastavit v my.ini je default_character_set, ktoru mam na latin2, lenze tych vnutornych premenych o character_set je viacej a neviem ako ich nastavit. A je este dost mozne ze chyba je aj v httpd.conf. Skus mi poslat tie tvoje subory nech to porovnam s mojimi, mozno nieco najdem.
        • Re: Re: Re: PHP Apache MySQL lokalizacia 18.09.2005 | 20:51
          Avatar Tomáš Srnka Barz čo, už asi všetko  Administrátor
          a kdeze najdem tvoj e-mail? :)
          Dlho som robil linuxos.sk, neskôr založil vpsFree.cz, posledných pár rokov ako tech. riaditeľ vo Websupporte
          • Re: Re: Re: Re: PHP Apache MySQL lokalizacia 18.09.2005 | 21:00
            Koli   Návštevník
            koli@koli.sk
    • Re: PHP Apache MySQL lokalizacia 18.09.2005 | 20:54
      Koli   Návštevník
      Este jeden zaujimavy poznatok, ktory by v niekom mohol vzbudit nejaky napad, kde je chyba. V zdrojovom kode stranky mi vypise v poriadku znak 'š' ale prehliadac to zobrazi ako 'š'. A naproti tomu znak 'č' mi vypise uz do zdrojoveho kodu ako '?', ktory prehliadac samozrejme znovu zobrazi ako '?'.
      • Re: Re: PHP Apache MySQL lokalizacia 18.09.2005 | 20:58
        Avatar Tomáš Srnka Barz čo, už asi všetko  Administrátor
        1, mas spravne nastavene kodovanie v httpd.conf (DefaultCharSet ci tak nejak :) ? 2, mas pismo ktore pozna tie znaky(Arial, Times New Roman...) ?
        Dlho som robil linuxos.sk, neskôr založil vpsFree.cz, posledných pár rokov ako tech. riaditeľ vo Websupporte
        • Re: Re: Re: PHP Apache MySQL lokalizacia 18.09.2005 | 21:09
          Koli   Návštevník
          No praveze ziadny riadok ako default character set v httpd.conf nie je je tam len riadok default language ale ten je odkomentovany A este aby som dodal upny popis toho prevodu znakov z retazca ľščťžýáíéúäňôďěřĺ urobi v zdrojaku ?š??žýáíéúä?ô???? a prehliadac zobrazi ?š??žýáíéúä?ô???? som z toho trochu jelen...
          • Re: Re: Re: Re: PHP Apache MySQL lokalizacia 18.09.2005 | 21:19
            Koli   Návštevník
            No vyriesil som uz prevod š a ž, zobrazi sa to spravne ked dam kodovu stranku zdrojaku stranky win1250 namiesto povodneho iso8859-2, lenze teraz neviem co to znamena.
            • Re: Re: Re: Re: Re: PHP Apache MySQL lokalizacia 19.09.2005 | 12:39
              peter golis   Návštevník
              Kodova stranka win1250 vznikla z latin2 tak ze niektore pismena s makcenmi a dlznami boli presunute do oblasti riadiacich znakov aby vznikla nekompatibilita. Takze niektore pismenka mozes vidiet OK, ale niektore nie. Ak bola nespravne definovana kodova stranka v hlavicke html stranky, tak sa pri post metode mohli nespravne naplnit texty v databaze a kombinacia mysql/php sa z toho pochopitelne nevie vysomarit. ak je ten projekt maly, tak by som odporucil pouzivat jednu kodovu stranku podliehajucu norme ISO (napriklad latin2 znama aj ako iso8859-2) ako na strane mysql tak na strane php/html, vyexportovat obsah databazy do suboru, opravit diakritiku a naexportovat to naspet. ono je to uz sice dlhsia doba co som sa s takymito vecami hral, ale mal som podobne problemy prameniace prave z takehoto problemu. mozno pomoze ;-)
              • Re: Re: Re: Re: Re: Re: PHP Apache MySQL lokalizac 19.09.2005 | 21:36
                Koli   Návštevník
                Ja teoriu ovladam. Lenze v praxi chytam z tejto konfiguracie verzii programov mindraky. Problem je ze u zakaznika to bezi na Win2000 serveri. A skusal som uz vsetko nastavit vsade win1250, aj iso-2 ale bez uspechu. Dokonca som do databazy vlozil makcanoidne slovka vsetkymi moznymi sposobmi a kazdy sa spraval inak. Jediny aspon ako tak funkcny bol ked som cez query browser editoval priamo polia tabulky. Mam taky pocit ze na vine bude prave php5. Lebo to jedine som este neskusal na nizsich verziach a v php.ini nikde nevidim ani riadok s nastavenim lokalizacie. Teda posledne som robil projekt v php4.0 a tam som problem nemal. Ak sa k niecomu dopatram podam spravu... ...ale keby len predsa niekto mal nejaky tip, tak budem rad.
                • Re: Re: Re: Re: Re: Re: Re: PHP Apache MySQL lokal 27.09.2005 | 14:58
                  Lubo   Návštevník
                  Tusim sa to riesi cez mysqli funkcie (http://sk2.php.net/mysqli). Problem je vo mysql PHP funkciach, ze nevedia pracovat s cp1250. Ta improved lib by to mala zvladat. Skusenosti s tym vsak nemam. (lubom-zavinac-gmx-bodka-net)
                  • Re: Re: Re: Re: Re: Re: Re: Re: PHP Apache MySQL l 27.09.2005 | 23:51
                    Avatar Koli Gentoo  Používateľ
                    No je pravda ze vsade odporucaju na PHP5 kniznicu mysqli tak to vyskusam a podam "Improved" spravu.
    • Re: PHP Apache MySQL lokalizacia 27.10.2005 | 15:07
      Avatar driller Ubuntu, OpenSuSE  Používateľ
      mam pocit MySQL 4.1 pouziva by default kodovanie Unicode UTF-8 Cize - mozes alebo alterovat varcharove stlpce v databaze na iso-8859-2 (ci ine) alebo zmenit kodovanie html vystupu. PHP ani Apache s tym nemaju urcite nic spolocne.