Php nuke σε utf-8, πρόβλημα με mail

Βοήθεια λύσεις και νέα από τον χώρο των open source ή έτοιμων εφαρμογών που έχουν φτιαχτεί με την PHP όπως oscommerce, κ.α.

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
slnkya
Δημοσιεύσεις: 4
Εγγραφή: 03 Ιαν 2007 21:58

Php nuke σε utf-8, πρόβλημα με mail

Δημοσίευση από slnkya » 03 Ιαν 2007 22:25

Γεια σας,

Έκανα μια αναζήτηση στο φόρουμ και βρήκα παρεμφερή ζητήματα, αλλά δεν με βοήθησαν ιδιαίτερα.

Το πρόβλημα είναι το εξής:

Μετέτρεψα ένα site http://www.ekped.gr σε utf-8 με βάση utf-8 και collation utf_general_ci.
Για τη μετατροπή των ελληνικών άνοιξα όλα τα lang αρχεία και τα έσωσα ως utf-8, το ίδιο έκανα και για όσα άλλα αρχεία php περιείχαν ελληνικούς χαρακτήρες.
Τέλος έκανα αναζήτηση σε όλα τα αρχεία και άλλαξα τις αναφορές σε iso-88* σε utf-8.

Έπειτα από αυτά, το site εμφανίζεται στα ελληνικά και οι εγγραφές στη βάση δεδομένων γίνονται κανονικά.

Το μόνο πρόβλημα, σοβαρό όμως, είναι πως αν οι χρήστες συμπληρώσουν μια φόρμα που χρησιμοποιεί για την αποστολή στοιχείων το email, λαμβάνουν τα κείμενα σε greek-iso και θα πρέπει να αλλάξουν την κωδικοποίηση σε utf-8 για να διαβάσουν (πχ. το mail επιβεβαίωσης εγγραφής, feedback, recommend us, παρακολούθηση φόρουμ κλπ).

Δεδομένου πως έκανα αναζήτηση σε όλα τα αρχεία για τέτοιες αναφορές, θα ήθελα να μου πει κάποιος , αν γνωρίζει, πού να ψάξω για να διορθώσω το πρόβλημα ...

Δουλεύω τώρα εδώ και 48 ώρες και μάλλον απελπίστηκα :-?

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Php nuke σε utf-8, πρόβλημα με mail

Δημοσίευση από cherouvim » 03 Ιαν 2007 23:07

slnkya έγραψε:...λαμβάνουν τα κείμενα σε greek-iso και θα πρέπει να αλλάξουν την κωδικοποίηση σε utf-8 για να διαβάσουν...
Στα mail headers πρόσθεσε ένα "Content-type: text/plain; charset=utf-8"

Άβαταρ μέλους
papatzas
Δημοσιεύσεις: 227
Εγγραφή: 03 Δεκ 2005 14:23

Php nuke σε utf-8, πρόβλημα με mail

Δημοσίευση από papatzas » 04 Ιαν 2007 17:11

ws proepilogi to outlook express twn xristwn exo tin entypwsi oti exei iso-windows...
mipos einai protimotero na to metatrepseis se iso.. pantws einai spasimo...

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Php nuke σε utf-8, πρόβλημα με mail

Δημοσίευση από mrpc » 05 Ιαν 2007 06:32

Μεταφέρω το θέμα στη σωστή κατηγορία...

slnkya
Δημοσιεύσεις: 4
Εγγραφή: 03 Ιαν 2007 21:58

Php nuke σε utf-8, πρόβλημα με mail

Δημοσίευση από slnkya » 05 Ιαν 2007 14:12

cherouvim έγραψε:Στα mail headers πρόσθεσε ένα "Content-type: text/plain; charset=utf-8"
Η phpnuke χρησιμοποιεί την function mail() στο αρχείο emailer.php, όπου δεν μπορώ να ορίσω στο header το charset ή έστω δεν ξερω πώς να το κάνω αυτό. Στα αρχεία .tpl του forum για παράδειγμα, υπάρχει παρόμοια επιλογή και δεν υπάρχει πρόβλημα για mail προερχόμενα από το φόρουμ. ...Τελικά για ορισμένες βασικές λειτουργίες, όπως στην εγγραφή νέων μελών, απλώς έφτιαξα νέα define's με κείμενα στα ελληνικά κι έτσι λαμβάνονται σωστά τα μηνύματα.
Αυτό βέβαια είναι μια "μπακαλίστικη" λύση αφού σε άλλες περιπτώσεις το email "τραβάει" πεδία από τη βάση δεδομένων τα οποία είναι σε utf-8 κι έτσι προκύπτει ένα ανακάτεμα με χαρακτήρες iso και utf
:cry:

Οπότε το πρόβλημα παραμένει, αν και με βοηθήσατε εν μέρει και οι 2 στο να βρω μια γρήγορη λύση για τα επείγοντα...

slnkya
Δημοσιεύσεις: 4
Εγγραφή: 03 Ιαν 2007 21:58

Php nuke σε utf-8, πρόβλημα με mail

Δημοσίευση από slnkya » 22 Ιαν 2007 14:42

Τελικά μετά από ανεπιτυχείς προσπάθειες η μεσοβέζικη λύση είναι η εξής:

Ξαναγυρίζω όλο το σαιτ (php nuke 7.7 patch 3.2 με Sentinel 2.4) σε ISO ενώ η βάση παραμένει σε UTF-8.

Προσθέτω στο αρχείο db/mysql.php + mysgl4.php από μια γραμμή στο mysql.php περίπου στη γραμμή 58 και στο mysql4.php περίπου γραμμή 51

μετά από ...

Κώδικας: Επιλογή όλων

  if($this->db_connect_id)
                {
προσθέτω

Κώδικας: Επιλογή όλων

mysql_query("set character set greek", $this->db_connect_id);
Αυτό βασικά λέει στη βάση να "διαβάσει" τους Unicode χαρακτήρες ως iso greek.

Αυτά, μπας και φανεί χρήσιμο σε κανέναν ομοιοπαθή.

Απάντηση

Επιστροφή στο “PHP έτοιμες εφαρμογές”

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

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