Tach!
Zugegeben, ich blicke da nicht 100% durch, aber dachte eigentlich schon, die entscheidenden Stelle zu kennen, wo man aufpassen muss.
Als verallgemeinerte Faustregel gilt:
- Ein System muss mit der Kodierung der Daten klarkommen, außer es reicht nur unverändert durch.
- Das sendende System muss dem empfangenden System die verwendete Kodierung mitteilen.
Ein Beispiel für 1. ist die Stringverarbeitung. Ansonsten steckt der Teufel natürlich im Detail. Um die beiden Punkte mit Leben zu füllen, muss man einerseits die jeweilgen Systeme kennen und andererseits den entsprechende Teil der Dateiformate und Übertragungsprotokolle.
Wenn man an diesen Schnittstellen einheitlich dieselbe Codierung verwendet, sollte man eigentlich sicher sein.
Ja, aber wie gesagt, kodiert MySQL auch selbständig um. Es ist also kein Problem, UTF-8 auf der Verbindung auszuhandeln, UTF-8-kodierte Daten zu senden und dabei Felder anzusprechen, die für Latin1 konfiguriert sind. Natürlich muss man sich dann auf die in Latin1 enthaltenen Zeichen beschränken, sonst landen Fragezeichen in den Daten, die ohne Intelligenz nicht wieder korrigiert werden können.
dedlfix.