philos Δημοσ. 29 Ιουνίου 2018 Δημοσ. 29 Ιουνίου 2018 Έχουμε ένα σύστημα ajax chat το οποίο λειτουργεί κανονικά, όμως υπάρχει θέμα όταν κάποιος ποστάρει emoji unicode chatacters. Αυτά τα στέλνουν κυρίως χρήστες από κινητά μάλλον. Συγκεκριμένα: - πχ σε Chrome φαίνονται ως ερωτηματικά σε ρόμβο (u know) - σε Firefox το chat "κρασάρει" καθώς τα μηνύματα επιστρέφονται σε xml στον browser και ο Firefox δεν μπορεί να κάνει parse (ως ότι το xml δεν είναι valid) Σκεφτόμουν για δύο λύσεις: 1. Είτε να διορθωθεί το θέμα και να αποθηκεύονται σωστά στη βάση κι αυτοί οι χαρακτήρες. Το είχα ψάξει πριν καιρό όμως δεν είχα καταφέρει να το λύσω καθώς στο text column που αποθηκεύονται τα μηνύματα έχω βάλει full text index. 2. Ή να κάνω τελείως trim τους χαρακτήρες αυτούς. Καμιά ιδέα για όποια από τις δύο λύσεις; 🙂
defacer Δημοσ. 29 Ιουνίου 2018 Δημοσ. 29 Ιουνίου 2018 Η σωστή λύση είναι να καταλάβεις τι γίνεται με και να διορθώσεις όπου χρειάζεται (όχι μόνο στη βάση, αν κρίνω από αυτό που λες για xml error) το χειρισμό του text encoding. Όλα τα υπόλοιπα είναι μπαλώματα και αργά ή γρήγορα κάποιος θα κάνει κάτι και θα ξανατρυπήσουν.
philos Δημοσ. 29 Ιουνίου 2018 Μέλος Δημοσ. 29 Ιουνίου 2018 Το είχα ψάξει και στο Google κι ένα βασικό βήμα ήταν να αλλάξω τη σύνθεση του column που αποθηκεύεται το κείμενο σε utf8mb4_unicode_ci, όμως το full text index που έχει δεν αφήνει την ενέργεια να ολοκληρωθεί: Αναφορά σε κείμενο Η MySQL επέστρεψε το μήνυμα: #1283 - Column 's_shout' cannot be part of FULLTEXT index
defacer Δημοσ. 29 Ιουνίου 2018 Δημοσ. 29 Ιουνίου 2018 SHOW CREATE TABLE xyz και πόσταρε το. Θα γκρινιάξω τώρα αλλά πραγματικά, όταν ζητάει κανείς βοήθεια δε θα έπρεπε να ζητάμε τις προφανείς βασικές πληροφορίες μια μια.
philos Δημοσ. 24 Ιουλίου 2018 Μέλος Δημοσ. 24 Ιουλίου 2018 @defacer Ναι αμέ: Όπως μπορείς να δεις, το s_shout (= το πεδίο αποθήκευσης του κειμένου), έχει full text index συνεπώς μου βγάζει error όταν πάω να το κάνω utf8mb4_unicode_ci. Η μία ιδανική λύση είναι να το κάνουμε να μπορεί να αποθηκεύει emoji και η άλλη είναι απλά μέσω php να τριμάρουμε αυτούς τους χαρακτήρες.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα