Ποια είναι η διαφορά μεταξύ UTF-8 και ISO-8859-1;
Ο UTF-8 είναι μια κωδικοποίηση πολλών byte που μπορεί να αναπαραστήσει οποιονδήποτε χαρακτήρα Unicode. Το ISO 8859-1 είναι μια κωδικοποίηση ενός byte που μπορεί να αναπαραστήσει τους πρώτους 256 χαρακτήρες Unicode. Και οι δύο κωδικοποιούν το ASCII με τον ίδιο ακριβώς τρόπο.
Η Βικιπαίδεια εξηγεί και τα δύο αρκετά καλά: UTF-8 έναντι Latin-1 (ISO-8859-1). Η πρώτη είναι κωδικοποίηση μεταβλητού μήκους, η δεύτερη κωδικοποίηση σταθερού μήκους ενός byte. Η Latin-1 κωδικοποιεί μόνο τα πρώτα 256 σημεία κώδικα του συνόλου χαρακτήρων Unicode, ενώ η UTF-8 μπορεί να χρησιμοποιηθεί για την κωδικοποίηση όλων των σημείων κώδικα. Σε επίπεδο φυσικής κωδικοποίησης, μόνο τα σημεία κωδικοποίησης 0 - 127 κωδικοποιούνται πανομοιότυπα- τα σημεία κωδικοποίησης 128 - 255 διαφέρουν, καθώς γίνονται ακολουθία 2 bytes με τον UTF-8, ενώ με τον Latin-1 είναι μεμονωμένα bytes.
Το ISO-8859-1 είναι ένα παλιό πρότυπο από τη δεκαετία του 1980. Μπορεί να αναπαραστήσει μόνο 256 χαρακτήρες, οπότε είναι κατάλληλο μόνο για ορισμένες γλώσσες του δυτικού κόσμου. Ακόμη και για πολλές υποστηριζόμενες γλώσσες, λείπουν ορισμένοι χαρακτήρες. Αν δημιουργήσετε ένα αρχείο κειμένου με αυτή την κωδικοποίηση και προσπαθήσετε να αντιγράψετε/επικολλήσετε μερικούς κινεζικούς χαρακτήρες, θα δείτε περίεργα αποτελέσματα. Με άλλα λόγια, μην τη χρησιμοποιείτε. Το Unicode έχει κατακτήσει τον κόσμο και το UTF-8 είναι λίγο πολύ το πρότυπο αυτές τις μέρες, εκτός αν έχετε κάποιους παλαιούς λόγους (όπως οι επικεφαλίδες HTTP που πρέπει να είναι συμβατές με τα πάντα).