News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

encoding προβλημα στο ajax chat

Started by visualuser, October 20, 2010, 11:06:47 AM

Previous topic - Next topic

visualuser

στο πινακα smf_ajaxshout_messages το πεδιο text
εχει collation utf8_general_ci και φυσικα δεν εχει ελληνικα.

Για να βαλω δεν το βλεπω εφοσον δεν υπαρχει (μακαρι να κανω λαθος)
Μπορω ομως τα κειμενα που αποθηκευει να τα μετατρεψω?

πχ αυτο εδω,
???±?»?·?????­??±

vkot

Δεν καταλαβαίνω τι εννοείς. Πες πρώτα τα βασικά: Ποια έκδοση SMF χρησιμοποιείς, με ποια κωδικοποίηση ελληνικών, ποιο είναι το εν λόγω mod και αν διαθέτει ελληνική μετάφραση, σε τι collation είναι οι υπόλοιποι πίνακες στην βάση σου, ... και μετά, πες τι ακριβώς θέλεις να κάνεις.
For specialized SMF installation/customization, Web Development, Linux Server Administration, click here.
Για εξειδικευμένες υπηρεσίες στα παραπάνω, πατήστε εδώ.

visualuser

1. 2.0 RC3

2. windows-1253

3. http://custom.simplemachines.org/mods/index.php?mod=1319 / δεν ειμαι σιγουρος για την μεταφραση, εδω λεει οτι εχει https://blueimp.net/ajax/

4. Το collation ειναι utf8_general_ci



Τωρα επι του θεματος.
Ο πινακας smf_ajaxshout_messages  εχει δομη ως εξης,


        id             int(11)          
   userID    int(11)    
   userName    varchar(64)    utf8_general_ci    
   userRole    int(1)       
   channel    int(11)          
   dateTime    datetime          
   ip            varbinary(16)          
   text       text                   utf8_general_ci     


Στο πεδιο "text" υπαρχει το κειμενο που γραφει ο χρηστης και εμφανιζεται ειτε
στο shoutbox ειτε στο chat.....

Οσοι λοιπον γραφουν ελληνικα στο shoutbox εμφανιζεται κανονικα,
στο text ομως αποθηκευεται κατι τετοιο,
θα Ï,,η κανω και γω για μάσα

Οι ερωτησεις ειναι δυο,
α. μπορω να αλλαξω κατι για να αποθηκευονται κανονικα με ελληνικους χαρακτηρες?
β. αν οχι, μπορω να μετατρεψω αυτο εδω (θα Ï,,η κανω και γω για μάσα)
σε ελληνικους χαρακτηρες με καποιο προγραμμα η με οποιον αλλο τροπο?


Επισης οσα login εχουν ελληνικους χαρακτηρες δεν εμφανιζεται το login τους οταν γραφουν.

vkot

Έχεις μπερδέψει τις κωδικοποιήσεις, απ'ότι καταλαβαίνω. Λες ότι το φόρουμ είναι σε windows-1253 αλλά η βάση είναι σε utf8_general_ci. Δεν έχω έτοιμη λύση να προτείνω. Στη θέση σου θα δοκίμαζα μετατροπή των πάντων σε UTF-8 για να δω αν θα λύνονταν όλα τα προβλήματα.
Το περιεχόμενο του text (αυτά τα "κινέζικα") το βλέπεις μέσα από το phpmyadmin; αν ναι, σε το κωδικοποίηση είναι το περιβάλλον του; δοκίμασε να το αλλάξεις από τις ρυθμίσεις του ή προσωρινά από τον browser σου.
For specialized SMF installation/customization, Web Development, Linux Server Administration, click here.
Για εξειδικευμένες υπηρεσίες στα παραπάνω, πατήστε εδώ.

agridoc

Το SMF, εφ' όσον δουλεύει σε CP 1253, θα έχει πίνακες και πεδία latin1_swedish_ci.
Το AjaxChat όμως είναι άλλο software με bridge σε SMF και έχει τους δικούς του πίνακες. Δεν ξέρω αν το AjaxChat μπορεί να εγκατασταθεί με άλλη κωδικοποίηση χαρακτήρων.

Παρόμοιες καταστάσεις έχουμε και σε bridge με άλλα προγράμματα, όπως το Coppermine, FlashChat κ.α.. Μερικά ίσως ακόμα λειτουργούν σε UTF-8 υποχρεωτικά αλλά ακόμα με collation  latin1_swedish_ci. Το UTF-8 όμως έχει ωριμάσει αρκετά και το standard είναι πια utf8_general_ci, τα περισσότερα προγράμματα έχουν προσαρμοσθεί.

Για να τα φέρεις σε αρμονία η καλύτερη λύση είναι

- Backup φόρουμ και database
- Απεγκατάσταση του AjaxChat Integration mod (δεν ξέρω αν γίνεται και απεγκατάσταση ή διαγραφή του AjaxChat (software)) ή unbridging του AjaxChat.
- Μετατροπή του SMF σε UTF-8. Εδώ είναι η πιο δύσκολη ιστορία. Μερικά mods μπορεί να επηρεάσουν την μετατροπή και σε μεγάλες βάσεις δεδομένων μπορεί να κολλήσει. Καλύτερα είναι να γίνει ένα large upgrade και μετά η προσπάθεια μετατροπής. Βέβαια πρέπει να εγκατασταθούν πάλι όλα τα mods. Καλός έλεγχος της μετατροπής.
- Επανεγκατάσταση του AjaxChat Integration mod ή rebridging του AjaxChat.

Αν υπάρχει και άλλο software σε bridge θα υπάρχουν και άλλες κινήσεις. Καλό είναι να δοκιμαστεί η σειρά των εργασιών σε clone, είτε στον server ή στο PC μας, με XAMPP ή συναφή.

Εσύ θ' αποφασίσεις αν μπορείς και αν αξίζει τον κόπο να κάνεις τα παραπάνω.

Μια άλλη λύση θα ήταν το AjaxChat σε CP 1253 αλλά φοβάμαι οτι αυτό δεν θα είναι εφικτό.
  For Greek aeromodellers and our friends around the world  - Greek Button sets for SMF - Greeklish to Greek mod
Δeν αφιερώνω χρόνο για μηνύματα σε greeklish.

agridoc

Ρίξε μια ματιά και εδώ
http://sourceforge.net/apps/mediawiki/ajax-chat/index.php?title=Custom_integration_howto

Quote
AJAX Chat uses UTF-8 internally, for the database storage and for the AJAX (Asynchronous JavaScript and XML) communication.
The sourceEncoding setting is used to convert the encoding of the data sources to UTF-8 - the userNames and channelNames taken from the existing system. It must be set to the encoding used by the existing system - e.g. phpBB2 stores userNames and forum names (which are used as channel names) in ISO-8859-1 encoding, while phpBB3 uses UTF-8 encoding.
The contentEncoding setting is used for the HTML output of the chat. AJAX Chat automatically converts the HTML content from UTF-8 to the desired encoding. Characters that cannot be displayed with this encoding are converted to HTML entities.
The JavaScript files are always included in UTF-8 encoding and don't need any encoding conversion. The same applies for the chat data which is retrieved through AJAX communication.
The contentEncoding setting should as well be set to the encoding of the existing system. If the chat is included as a shoutbox it must have the same encoding of the including website. The second reason is the encoding of the login data, which is set by the user browser to the encoding of the login page. AJAX Chat directs users attempting to login through the chat login page to the existing system which expects the login data in its own encoding setting.

Απ' οτι είδα στα γρήγορα λειτουργεί σε UTF-8.
  For Greek aeromodellers and our friends around the world  - Greek Button sets for SMF - Greeklish to Greek mod
Δeν αφιερώνω χρόνο για μηνύματα σε greeklish.

visualuser

για να κανω αλλαγες δεν παιζει, νομιζω οτι ειναι πιο βολικο να αλλαξω shoutbox.

Η βαση μου λειτουργει ολη με την ιδια δομη και ετσι το shoutbox,
ακολουθησε την ιδια δομη. (εικονα πρωτη)
Το θεμα ειναι οτι το πεδιο text δεν εχει ρυθμιση για ελληνικα που να διαβαζονται.
Επισης μια αλλαγη που εκανα σε utf8_unicode_ci δεν βοηθησε.
Πιστευω οτι θα κανω σαλατα τα παντα και ισως να μην κανω και δουλεια.

Απο την αλλη,
μαλλον φαινεται οτι κανει μια δικη του κωδικοποιηση το shoutbox
και καταχωρει τα κινεζικα χωρις περιθωριο μετρατροπης σε οτιδηποτε.
Δηλαδη το χανω το κειμενο.


Για να γινω λιγο πιο σαφης,
το ολο προβλημα προκυπτει οτι ηθελα να εχω μια αποψη
αν σε καποια φαση πεσει κανα μπινελικι και ειμαι απων,
να μπορουσα να κοιταξω το log και να εχει ενα νοημα.
Τωρα ειτε εχει log ειτε δεν εχει μια η αλλη.

Σαφως και αν δεν υπαρχει λυση θα πρεπει να βρω καποιο αλλο,
αλλα φοβαμαι οτι και παλι θα εχω το ιδιο μπλεξιμο....



Αληθεια τα δικα σας log πως καταγραφουν το ιδιο πραγμα?

agridoc

visualuser με έχεις μπερδέψει κάπως.

Οι πίνακες του SMF σου δείχνουν να έχουν collation utf8_general_ci και πιστεύω οτι και τα πεδία κειμένου θα έχουν το ίδιο. Με 2.0 RC3 και UTF-8 εγκατάσταση ΔΕΝ θα δουλέψουν σωστά τα greek (windows-1253), θα φαίνονται ρομβάκια και η κωδικοποίηση θα παραμένει UTF-8.

Είσαι σίγουρος οτι το SMF σου δείχνει CP 1253 στον browser; Πιστεύω οτι έχει γίνει λάθος αλλά δες το πάλι. Αν πας σε αγγλική γλώσσα τι δείχνει;

Αν είχες ANSI εγκατάσταση από το Διαχείριση -> Συντήρηση: Συντήρηση φόρουμ: Βάση δεδομένων θα έδειχνε
Μετατροπή της βάσης δεδομένων και των δεδομένων σε UTF-8

Το δικό σου πιστεύω οτι δείχνει (όπως πρέπει σε μια σωστή UTF-8 εγκατάσταση)
Μετατροπή HTML-οντοτήτων σε χαρακτήρες UTF-8
  For Greek aeromodellers and our friends around the world  - Greek Button sets for SMF - Greeklish to Greek mod
Δeν αφιερώνω χρόνο για μηνύματα σε greeklish.

Advertisement: