Κακή υποστήριξη Unicode από το Simple Machines Forum (SMF)
Αρκετοί χρήστες πρέπει να έχουν παρατηρήσει την πολύ κακή υποστήριξη Unicode στο λογισμικό του forum SMF.
Συγκεκριμένα, δεν μπορεί να εμφανιστεί ο χαρακτήρας Π στο σώμα (body) μιας εγγραφής. Ο λόγος που συμβαίνει το πρόβλημα αυτό είναι εξαιρετικά απλός.
Υπάρχει κώδικας στο SMF που μετατρέπει την αλλαγή γραμμής (0x0a) σε html entity για αλλαγή γραμμής, στα σώματα (body) των εγγραφών. Η εντολή που κάνει την δουλειά αυτή δεν αναγνωρίζει Unicode – θεωρεί ότι οι χαρακτήρες είναι πάντα ενός byte. Έτσι, το ελληνικό Π στην κωδικοποίηση UTF-8 αποτελείται από τα byte
CE 0A
και το SMF καταστρέφει το δεύτερο byte!
Τι μπορεί να γίνει; Να μη γίνεται χρήση της substr (not Unicode-safe) αλλά της mb_substr (http://uk2.php.net/mb_substr).
Παρόμοιο πρόβλημα συμβαίνει και στην περικοπή των τίτλων εγγραφών στην εμφάνιση περιλήψεων. Για παράδειγμα,
Σήμερα στις 18:31:46
σε Απ: SMF και σωσ�…
από Χρήστης
Ο κώδικας του SMF χρησιμοποιεί την εντολή substr() για να κόψει τον τίτλο και την δημιουργία περικοπής. Ανάλογα με την περίσταση, η εντολή substr() κόβει μέσα σε χαρακτήρα utf-8 πολλαπλών byte.
Ποιά είναι η λύση; Χρήση legacy 8-bit κωδικοποίηση;
Η λύση είναι στην διόρθωση του SMF.
Related posts:
- Unicode και ελεύθερο λογισμικό
- Παίζοντας με Unicode
- dpgr.gr και Unicode
- Προβληματικές συμπεριφορές στο adslgr.com/Forum του Linux
- Unicode ξανά
March 31st, 2006 - 19:51
Τους έχεις ενημερώσει γι’αυτό;
[Translate]
Like or Dislike:
0
0
March 31st, 2006 - 20:10
Το γνωρίζουν ήδη και προχωρούν με το βαθμό που μπορούν.
[Translate]
Like or Dislike:
0
0