Apache + php > encoding problem

PHP, ASP, Javascript, MySQL, WordPress, Joomla, phpBB, OpenSource λογισμικό.

Apache + php > encoding problem

Δημοσίευσηαπό Themistoklick » 22.07.05, 10:38 am

-----------------------------------
Configuration
-----------------------------------
Server: Apache/2.0.46 (Red Hat)
MySQL 3.23.58
phpMyAdmin 2.6.0-pl3 > el-iso-8859-7
Provider: MediaTemple (USA)

-----------------------------------
Περιγραφή:
-----------------------------------
Έχω ανεβάσει μια index.html η οποία είναι γραμμένη με encoding: iso-8859-7 στο www/html/ (στο main directory δηλαδή).

Επειδή είναι εντελώς test page, το μόνο που περιέχει είναι ένα σύντομο κείμενο στα Ελληνικά σε άσπρο φόντο. (εντελώς απλή html).

Σε ένα sub directory, το οποίο ονόμασα php, ( www/html/php/ ) εγκατέστησα το Mambo 4.5.2.3 Stable Edition με Ελληνική υποστήριξη τόσο στο back όσο και στο front - end. Όλα τα αρχεία του mambo, τα οποία παράγουν output ή έχουν ρύθμιση για encoding, διαθέτουν την ένδειξη iso-8859-7.

Για να γίνει σωστά το output σε iso-8859-7 και όχι στο default UTF-8, πρόσθεσα στο main directory ένα .htaccess αρχείο με την γραμμή:

AddDefaultCharset iso-8859-7

Με αυτό τον τρόπο οι σελίδες του Mambo (php output) εμφανίζονταν μέσα στο subdirectory αυτόματα σε iso-greek.

Όμως η απλή Index.html εμφανιζόταν σε UTF-8 και μόνο με χειροκίνητη αλλαγή από τον browser μπορούσε να γυρίσει σε iso-greek και να παράγει σωστά Ελληνικά.

Προς στιγμή δεν με ενδιέφερε το πρόβλημα. Σκέφτηκα ότι αφού το site, εμφανίζει σωστά τα ελληνικά μέσα στο subdirectory που τρέχει το mambo, θα έβαζα ένα μικρό script αυτόματου redirection στην index του mambo, μέσα στο sub directory και ούτε γάτα ούτε ζημιά.

-----------------------------------
Το πρόβλημα
-----------------------------------

To είδος του server του οποίου τμήμα ενοικίασα από την MediaTemple, έτρεχε σε ένα mode το οποίο ονομάζεται safe mode και ήταν στην κατάσταση ON. Αυτό ουσιαστικά το Mode, αφαιρεί ορισμένες ικανότητες της php και κάνει αυτόματα owner των αρχείων τον “Apache”. Αυτό είχε ως αποτέλεσμα το Mambo να στερείται αρκετών από των modules που υπάρχουν στην αγορά και να μην μπορεί να λειτουργήσει στο 100 %.

Ζήτησα λοιπόν από την (mt) να γυρίσει το safe mode σε OFF. Η απάντηση ήταν ότι στο συγκεκριμένο πακέτο που είχα, αυτό ήταν αδύνατο. Θα έπρεπε λοιπόν ή να αλλάξω πακέτο (7πλάσιο κόστος και τρελά άχρηστα GB χώρου) ή να ζητήσω να γίνει μια ρύθμιση γνωστή σαν PHP POWER MODE από OFF σε ON.

Η ρύθμιση αυτή, θα επέτρεπε τα php αρχεία να τρέξουν σαν cgi ώστε να προσπελάσει το πρόβλημα του safe mode με μια επιβάρυνση απλά στο χρόνο εκτέλεσης των λειτουργιών και πιθανότατα μειωμένη δυνατότητα του .htaccess αρχείου.

Πράγματι, ζήτησα να γίνει αυτή η ενέργεια.

Αυτό είχε ως αποτέλεσμα, το Mambo να πιάσει το 100% των δυνατοτήτων του, αλλά να μην μπορώ πλέον με καμία δύναμη να έχω iso-greek αρχεία, τόσο στην απλή html σελίδα όσο και στις php σελίδες του Mambo.

Έκανα edit του .htaccess αρχείου και πρόσθεσα την γραμμή:

php_value default_charset "iso-8859-7"

Επίσης, επισκέφθηκα το php.ini αρχείο του server, όπου διόρθωσα μια σχετική ρύθμιση σε:

; PHP's built-in default is text/html
default_mimetype = "text/html"
;default_charset = "iso-8859-7"

Ακόμη και αν υποθέσω ότι κάποιο λάθος υπάρχει σχετικά με την php του mambo, ποιός ο λόγος να μην μπορεί να κάνει render την απλή html σελίδα σε iso-greek μιας και αυτή είναι εκτός των sub directories που περιέχουν το Mambo ?

Το help desk της media temple είναι για τα μπάζα.

Με έχουν παραπέμψει στα εξής Links:

Σχετικά με power Mode:
http://www.mediatemple.net/support/kb/ keyword: power mode

Σχετικά με Safe Mode:
http://www.mediatemple.net/support/kb/ keyword: safe mode

Σχετικά με Apache και encoding:
http://httpd.apache.org/docs-2.0/mod/co ... ultcharset

Σχετικά με php και encoding:
http://us2.php.net/manual/en/ini.core.p ... lt-charset

Επειδή δεν έχω καταλάβει Χριστό και δεν έχω καταφέρει τίποτα, γνωρίζει κάποιος πως μπορεί να λυθεί το συγκεκριμένο πρόβλημα ? Γιατί δηλαδή η index τουλάχιστον, δεν μπορεί να γίνει render με iso-greek ?

Υπάρχει κάποια ιδέα ?

Ευχαριστώ πολύ εκ των προτέρων για την όποια ιδέα ή προσπάθεια.
Φιλικά, Θεμιστοκλής

(συγνώμη για το μεγάλο Post, αλλά είναι απαραίτητο για να καταλάβει κάποιος το πρόβλημα)
Άβαταρ μέλους
Themistoklick
Master Member
 
Posts: 5292
Εγγραφή: 05.04.04, 1:28 pm

gia ton themistoklis....

Δημοσίευσηαπό karakaksa » 22.07.05, 3:08 pm

den ime siguri an se katalava kala... 8)

ala ekana mia prospathia gia na se voithiso... :P

dioti ke ego exo vgali ta matia mu me afta ola... :shock:

su exo merika links
ke kapia code pu isos se voithisun..kali epitixia:


pistevo oti se afto to link exis apantisi olokliromeni:

http://www.phpdig.net/forum/printthread.php?t=135

http://www.blooberry.com/indexdot/html/ ... s/text.htm

ke kapia links......genikotera...
ke ti prepi na ipostirizi o server...

http://www.softlab.ntua.gr/~sivann/xgrk/iso8859-7.html

http://www.hri.org/fonts/mac/

http://www.cs.tut.fi/~jkorpela/unicode/greek.html


kali epitixia... 8)
karakaksa
Member
 
Posts: 55
Εγγραφή: 15.07.05, 12:25 pm

Δημοσίευσηαπό Themistoklick » 22.07.05, 3:34 pm

Ευχαριστώ πολύ karakaksa !

Οι γνώσεις μου σχετικά με apache ή php είναι εξαιρετικά περιορισμένες. Όταν ανέβασα αυτό το Post ήλπιζα μήπως και είναι μια τυπική περίπτωση προβλήματος που λύνεται με κάποια γραμμή κώδικα σε κάποιο option του server...

Αυτό που μου ειναι αδιανόητο ουσιαστικά να κατανοήσω είναι το ότι μια απλή σελιδα html με iso-greek δεν γίνεται σωστά render σε έναν server μιας πολύ γνωστής εταιρείας και ουσιαστικά θα πρέπει να διαβάσεις php για να γίνει αυτό...έλεος.

Ευχαριστώ και πάλι για την βοήθεια.
Άβαταρ μέλους
Themistoklick
Master Member
 
Posts: 5292
Εγγραφή: 05.04.04, 1:28 pm

Δημοσίευσηαπό cpulse » 03.04.06, 11:52 pm

Έχω αντιμετωπίσει το ίδιο πρόβλημα με τον server μου και η απάντηση στην δικιά μου περίπτωση ήταν πολύ απλή...

Τα default settings του Apache δηλαδή το httpd.conf είχε σαν default charset το UTF-8 ενώ συνήθως με τους editors μας φτιάχνουμε σελίδες σε ASCII.

Άνοιξε το κεντρικό httpd.conf του webserver και βρες μια γραμμή που λέει AddDefaultCharset UTF-8 και βάλε ένα ωραιότατο καγκελάκι ... δηλαδή:

#AddDefaultCharset UTF-8
Άβαταρ μέλους
cpulse
Senior Member
 
Posts: 848
Εγγραφή: 03.04.06, 11:42 pm

Δημοσίευσηαπό Themistoklick » 04.04.06, 12:09 am

Γεια σου φανταστικέ cpulse.

Αυτή τη στιγμή είμαι βαθύτατα συγκινημένος.

Επιτέλους, μετά από 9 μήνες, κάποιος άνθρωπος απαντά στην μοναδική ερώτηση που έκανα ποτέ σε φόρουμ και η οποία στάθηκε ως αφορμή για να εντρυφήσω εις στην php.

Έκτοτε, 7 τόμοι των 980 σελίδων της γνωστής σειράς "Pos na ginetai kie gamo stin PHP" κοσμούν την βιβλιοθήκη μου. Επειδή όμως αυτή την περίοδο, όλα τα εγκεφαλικά μου κύτταρα απορροφούν την χρήση της ΌξιςΆξιον&Ξερός Σκριπτ σε δυναμικές βάσεις AJAX με αμονιαζόλ με ΜαϊΣκιουρέλ και ΕξΕμΈλ δρακουμέλ κλπ, δεν προλαβαίνω να διαβάσω ΚΑΙ Php μπίπί.

Να σε ευχαριστήσω όμως, που ανακάλυψες την λύση του προβλήματος και πολύ καλά έκανες που την μοιράστηκες μαζί μας. Καλοσύνη σου. Το καλύτερο μάλιστα, είναι να την στείλεις και στους βλαξ της τεχνικής υπο-στήριξης της Μίδια Τέμπλ μήπως και ξεστραβωθούν.

Και πάλι ευχαριστώ αν και μετακόμισα εις άλλον χόστερ.

Καλωσήλθες στο vcdc αγαπητέ, και καλή συνέχεια.
Άβαταρ μέλους
Themistoklick
Master Member
 
Posts: 5292
Εγγραφή: 05.04.04, 1:28 pm

Δημοσίευσηαπό cpulse » 04.04.06, 12:34 am

LOL να σαι καλά!! :)

Και την προηγούμενη φορά που δημοσίευσα αυτό το θέμα σε ένα άλλο forum ένας ισπανός έλεγε τα ίδια... οπότε φαντάζομαι οι ινδιάνοι (Apache) θα έχουν ακούσει άπειρα, εχμ.., "σχόλια" για αυτό το θέμα οπότε θα το αλλάξουν στις επόμενες εκδόσεις τους. Εγώ να δεις τι τράβηξα μέχρι να βρώ λύση... είχα μόλις γυρίσει τον κόσμο ανάποδα να αλλάξω control panel και μου βγήκε αυτό και κάτι άλλα τέτοια προβλήματα απο το υπερπέραν.
Άβαταρ μέλους
cpulse
Senior Member
 
Posts: 848
Εγγραφή: 03.04.06, 11:42 pm


Επιστροφή στο II.III Προγραμματισμός + Τεχνολογία ανοιχτού κώδικα

Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης

Visual Communication Designers Club

Το Visual Communication Designers Club, το μεγαλύτερο Ελληνικό online design forum, αποτελεί μια Ελληνική κοινότητα σχεδιαστών οπτικής επικοινωνίας, υπό την ευρύτερη έννοια του όρου, θέλοντας να συμπεριλάβει στα μέλη της κάθε ειδικότητα και βαθμίδα όσων σπουδάζουν ή εργάζονται στον χώρο της επικοινωνίας, έντυπης, διαδικτυακής, τρισδιάστατης ή εφαρμογών πολυμέσων