Δεν υπάρχει κάποιο πρόβλημα με το UTF8, απλά θα πρέπει να προσθέσεις το κατάλληλο tag στο HTML σου για να καταλάβει ο browser τί encoding χρησιμοποιείς. Θα πρέπει να γράψεις κάτι σαν το <META HTTP-EQUIV=""Content-Type"" CONTENT=""text/html; CHARSET=utf-8"">. Αν δεν βάλεις αυτό το tag ο browser θα αναγκαστεί να μαντέψει τί encoding χρησιμοποίησες. Αν μαντέψει λάθος θα εμφανιστούν κινέζικα, παρλαπιπάκια ή ερωτηματικά. Οποιοδήποτε encoding και να χρησιμοποιήσεις θα πρέπει να ορίσεις το αντίστοιχο charset αν θέλεις να είσαι σίγουρος ότι ο οποιοσδήποτε browser θα χρησιμοποιήσει το σωστό encoding.
Αν πρέπει οπωσδήποτε να χρησιμοποιήσεις διαφορετικό encoding, θα πρέπει να χρησιμοποιήσεις την κλάση StreamWriter αντί για την File.CreateText. Και πάλι, θα πρέπει να βάλεις το tag με το σωστό encoding όπως παρακάτω:
Dim sw As New System.IO.StreamWriter("myShortHTML.html",false,Encoding.GetEncoding("windows-1253"))
sw.Write("<html><META HTTP-EQUIV=""Content-Type"" CONTENT=""text/html; CHARSET=windows-1253""><body>Καλημερούδια</body></html>")
sw.Flush()
sw.Close()
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos