Hallo,
Das Problem ist folgendes:
Mit 'encodeURIComponent' werden die Daten in UTF-8 umgewandelt.
Ja, das ist der große Vorteil von encodeURIComponent. ;)
Gibt es eine gleichwertige Funktion zu encodeURIComponent, die die Daten in ISO-8859-1 lässt?
Ja, escape(). Aber das will man nicht wirklich - damit beschränkst du halt die möglichen Zeichen auf Latin1 und das Dumme ist, das Zeichen außerhalb von Latin1 nicht einfach entfernt, sondern mit %uXXXX kodiert werden, also so in deine Datenbank wandern würden, wenn du sie nicht herausfilterst.
Oder sollte der Server und die Datenbank, falls überhaupt möglich, in UTF-8 umgestellt werden?
Ja, das wäre sowieso sinnvoll.
Oder was gibt es sonst noch für Möglichkeiten, die schöner als meine Lösung ist?
UTF-8 verwenden und gut ist. Die Beschränkung auf ISO-8859-1 ist selten nötig und führt nur zu Problemen, wenn Benutzer mal Zeichen außerhalb von ISO-8859-1 in Formulare eingeben.
Mathias