Λοιπόν, εγώ έκανα ένα μικρό τεστάκι και κατέληξα στο εξής:
κωδικοποίηση iso8859-7 έχει αποθηκευτεί ώς UTF-8.
Για παράδειγμα το ποστ του SsimosS :
Öáßíåôáé áðü ôá öùôïñõèìéêÜ óôï ôáâÜíé
Ηταν αρχικά κωδικοποίηση iso8859-7, αλλά τώρα είναι μέσα στην βάση με UTF-8.
Δηλαδή ο χαρακτήρας Ö δεν μετατράπηκε πρώτα σε UTF-8 απο iso8859-7 αλλά μπήκε κατευθείαν στην βάση σα να ήταν UTF-8.
Αποτέλεσμα:
Σε όλα τα ποστς που οι χαρακτήρες έχουν κωδικό σχετικά μικρό χρειάζεται άνα "shift" των χαρακτήρων.
Στο παραπάνω κείμενο αν στον κωδικό UTF-8 του κάθε χαρακτήρα προσθέσουμε το νούμερο 720 βγαίνει :
Φαίνεται από τα φωτορυθμικά στο ταβάνι
[edit]
Οπότε αν μπορείτε να φτιάξετε ένα σκριπτακι να κοιτάζει σε κάθε ποστ τους χαρακτήρες και αν οι κωδικοι τους πέφτουν στα ιερογλυφικά
να πρόσθέτουν 720... Μπορώ να σας φτιάξω κάτι σε java αν θέλετε.
[/edit]
[edit 2]
Μιας και δεν ξέρω πότε θα ξαναβρώ χρόνο για να βοηθήσω, δείτε αυτό:
- Κώδικας: Επιλογή όλων
public static String convert (String badString)
{
StringBuffer sb = new StringBuffer();
for (int i=0; i<badString.length(); i++)
{
int badCodepoint = badString.codePointAt(i);
int goodCodepoint = badCodepoint + 720;
sb.appendCodePoint( goodCodepoint );
}
return sb.toString();
}
Απλά θέλει λίγο προσοχή στο να εφαρμόζεται μόνο όταν το codePoint του badString αντιστοιχεί σε νούμερο ιερογλυφικών. Εδώ θέλει λίγη προσοχή. Αν προλάβω θα κάνω άλλο ένα edit.
[/edit 2]