Ja, die Überlegung ergibt leider wenig Sinn, sync2014. Die Charset-Parameter beziehen sich nicht auf das Charset der auszuliefernden HTML-Seite, sondern auf das Charset/Encoding der zu konvertierenden Eingabe ($vstring bei dir).
Der Code, den ich gepostet habe, konvertiert gewissermaßen von UTF-8 nach 7-Bit-ASCII, was die kleinste gemeinsame Untermenge vieler Charsets ist.
Du solltest zumindest im PHP-Code immer in UTF-8 arbeiten und erst dann in das benötigte Ziel-Charset konvertieren, während du die HTML-Ausgabe generierst. Das wird schon schwierig genug. Dann auch noch deinen eigentlichen PHP-Code so zu schreiben, dass er mit Strings in verschiedenen Charsets arbeiten kann, wäre noch mal komplizierter (falls überhaupt irgendwie sinnvoll möglich) und ist zudem eben unnötig.
Der Code, den ich gepostet habe, konvertiert gewissermaßen von UTF-8 nach 7-Bit-ASCII, was die kleinste gemeinsame Untermenge vieler Charsets ist.
Du solltest zumindest im PHP-Code immer in UTF-8 arbeiten und erst dann in das benötigte Ziel-Charset konvertieren, während du die HTML-Ausgabe generierst. Das wird schon schwierig genug. Dann auch noch deinen eigentlichen PHP-Code so zu schreiben, dass er mit Strings in verschiedenen Charsets arbeiten kann, wäre noch mal komplizierter (falls überhaupt irgendwie sinnvoll möglich) und ist zudem eben unnötig.
Kommentar