
Έχω κάποια HTML που εισήχθη σε μια βάση δεδομένων MySQL από ένα αρχείο CSV, το οποίο με τη σειρά του είχε εξαχθεί από ένα αρχείο MDB πρόσβασης. Το αρχείο MDB εξήχθη ως Unicode, και μάλιστα είναι Unicode. Είμαι όμως σίγουρος, όπως αυτό που κωδικοποιεί τη βάση δεδομένων MySQL έχει.


Όταν προσπαθώ να επαναλάβω τις html αποθηκευμένες σε ένα πεδίο, ωστόσο, δεν υπάρχει Unicode. Αυτή είναι μια άμεση ανάκτηση της ένα από τα πεδία html στη βάση δεδομένων.


<http://www.yousendit.com/download/TTZueEVYQzMrV3hMWEE9PQ>


Λέει `utf-8`στην πηγή. Το πραγματικό κώδικα της σελίδας που παράγεται από απηχώντας τις `article_desc`είναι εδώ:


<http://www.nomorepasting.com/getpaste.php?pasteid=22566> 


Θα πρέπει να χρησιμοποιήσετε αυτό το html με JSON, και αναρωτιέμαι τι πρέπει να κάνω. Δεν μπορώ να χρησιμοποιήσω άλλα πλαίσια ή βιβλιοθήκες. Θα πρέπει να μετατρέψετε τα δεδομένα πριν την τοποθετήσετε στη MySQL DB, ή κάτι άλλο;

 
Μετατροπή unicode για MySQL και JSON
====================================




> 
> Το αρχείο mdb εξήχθη ως Unicode, και μάλιστα είναι unocode.
> 
> 
> 


Αυτό δεν έχει νόημα. Ένα αρχείο δεν μπορεί να είναι unicode. Μπορεί να κωδικοποιείται με ένα Unicode-συμβατό κωδικοποιεί, όπως utf-8, ή UTF-16 ή UTF-8 με ΒΟΜ ή ..


θέματα charset είναι ένα πολύ κοινό πρόβλημα, και αυτό έχει τη ρίζα της στην άγνοια. Δεν το λέω αυτό για να σας προσβάλω, αλλά αν πραγματικά θα πρέπει να γνωρίζουν τη διαφορά μεταξύ codepoints (strings) και κωδικοποιήσεις (bytestreams). Αν δεν ξέρετε ποια να κάνουμε με ανά πάσα στιγμή καθ 'όλη την αίτησή σας, θα έχετε προβλήματα τελικά. Η κατάρα για τα θέματα αυτά είναι, ότι συμβαίνει μόνο σε περιπτώσεις ακμής, έτσι είναι εύκολο να τις επιβλέπει για μεγάλο χρονικό διάστημα και όταν τελικά συνειδητοποιήσει κάτι είναι λάθος, μπορεί να προκληθεί σε ένα εντελώς άσχετο μέρος της αίτησής σας. Αυτό καθιστά σχεδόν αδύνατο τον εντοπισμό σφαλμάτων.

 