Mr.SergE Posted March 10, 2006 Report Share Posted March 10, 2006 Problēma sekojoša: uz viena un tā paša servera PHP4 viss strādā kā nākās: print "Šalc zaļās priedes mežmalā"; drukājās normāli, bet tiklīdz es to pašu mēģinu uz PHP5, man visu latviešu simbolu vietā ir jautājuma zīmes. Vai ir kādas idejas, ko man tur vajag darīt, lai tā nebūtu? Link to comment Share on other sites More sharing options...
bubu Posted March 10, 2006 Report Share Posted March 10, 2006 php versijai ar to nav nekāda sakara. Vaina ir faila kodējuma (charset) nesakrišanā ar outputā norādīto (Content-Type http headeris html tagā vai http headeros). Link to comment Share on other sites More sharing options...
Mr.SergE Posted March 10, 2006 Author Report Share Posted March 10, 2006 Tad kā lai izskaidro sekojošo. Faila saturs: <?php header('Content-Type: text/html; charset=utf-8'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="lv" lang="lv"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Blah blah</title> </head> <body> <? print "<p>Šalc zaļās priedes mežmalā</p>"; ?> </body> </html> Ja es saglabāju kā fails.php, tad man viņu parsē kā PHP5 un tad man drukājās jautājuma zīmes. Ja tas pats fails ir nosaukts fails.php4 (tiek parsēts kā PHP4), tad viss ir kārtībā - drukā kā normālu latviešu tekstu. Kur tad ir problēma? Link to comment Share on other sites More sharing options...
bubu Posted March 10, 2006 Report Share Posted March 10, 2006 Fails ir ieseivots utf8 formātā? un tam sākumā nav maģiskie 3 signature baiti? Ja ir, tad tie nojauc header sūtīšanu varbūt.. Un tad sūtās apachē norādītais defaultais.. bet nu nez. Kautkas tev tur nav īsti lab, bet ar php versijām tam toč nav nekāds sakars. Link to comment Share on other sites More sharing options...
Mr.SergE Posted March 10, 2006 Author Report Share Posted March 10, 2006 Ar UTF8 viss ir kārtībā. Tā trakā signature sākumā arī nav. Viss aprobežojās tieši iekš tā, ka nevar saprast, kas notiek ar php5. Nu goda vārds, es arī neko nevaru saprast. Varbūt kādam ir vismaz kāda nojausma, kurā virzienā rakt? Link to comment Share on other sites More sharing options...
john.brown Posted March 11, 2006 Report Share Posted March 11, 2006 (edited) iekš php.ini ir šitāds: default_charset = "iso-8859-1". Varbūt ka tur tā vaina. Man viņš php5 ir aizkomentēts, un ar utf-8 viss ir ok. Jā, tiko atkomentēju, ar utf trabli sākās :) Edited March 11, 2006 by john.brown Link to comment Share on other sites More sharing options...
bubu Posted March 11, 2006 Report Share Posted March 11, 2006 hm.. john.brown - bet viņš jau header("Content-Type:...) ar vajadzīgo charsetu nosūta no php skripta! Tāpēc default_charset vajadzētu ignorēties, ja vien tiešām tas headeris nosūtās (nav pirms tam nekas cits nosūtīts). Link to comment Share on other sites More sharing options...
john.brown Posted March 11, 2006 Report Share Posted March 11, 2006 Man arī tiek nosūtīts header un apacham ir uzlikts utf-8 defaulta, bet atkomentējot to default-charset sākas joki :) Link to comment Share on other sites More sharing options...
AndzX8-842 Posted April 11, 2006 Report Share Posted April 11, 2006 Man arī bija tieši tāds pats joks. Apache bija uzlikts noklusētais charset uz ISO-...kāds nu tur ir tas noklusētais. Vietā tika ierakstīts UTF-8 un tad viss rādijās kā nākas, arī domāju, ka bija gan fails pareizi saglabāts UTF-8 kodējumā, headeros viss norādīts, beigās noklusētais charset bija pie vainas. Tev tā kaste ar PHP5 ir win vai *unix? Man tādi joki uz mājas win kastes bija. Link to comment Share on other sites More sharing options...
Recommended Posts