SebastianJu: AJAX und Sonderzeichen

Beitrag lesen

Das wiederspricht deinen Schilderungen, wenn du in einer ISO Seite UTF-8 kodierte Zeichen hast, dann siehst du immer zwei seltsame Zeichen und kein Fragezeichen.

Mal sind es Fragezeichen mit so einem schwarzen Viereck mit weißem Fragezeichen und mal 2 komische Zeichen.

Mir ist noch etwas aufgefallen. Ich erzeuge ja bei Abschicken des Formulars per Javascript einen Ajaxrequest der die Tabelle eingeschränkt neu erstellt.

Dabei ist die Tabelle aufgebaut mit den Anfangsbuchstaben und darunter jeweils die passenden Worte dazu.

Jetzt habe ich bemerkt dass die Tabelle erzeugt per normalem Seitenaufbau zwar normal aussieht aber wenn ich das selbe per Ajax mit Ö mache dann funktioniert es nicht ganz korrekt.

Denn wenn ich utf-8 als Codierung für den ajax nehme dann ist der Überschriftenbuchstabe ein Fragezeichen und die Texte bzw passenden Stickwörter sind korrekte Umlaute.

Wenn ich aber iso8859-1 nehme dann ist der Überschriftenbuchstabe korrekt aber nicht mehr die Sonderzeichen im Text.

Also muss da sogar innerhalb eines Requests unterschiedliche Codierung da sein...

Ich denke dass das vielleicht mit den Mysql-Requests zusammenhängt:

$query = "SELECT ucase(SUBSTRING(ABC_Titel,1,1)) as sign from $dbtable where ABC_Titel like \"".$_GET['ajaxquery']."%\" group by sign";

Damit erzeuge ich die Liste der Anfangsbuchstaben. Aus der Spalte ABC_Titel.

Und den restlichen Text hole ich mir mit (wobei $col der jeweilige Buchstabe ist der mit obigem Request geholt wurde):

$query = "SELECT ABC_Titel, ABC_Text1, ABC_Text2 from $dbtable where ucase(SUBSTRING(ABC_Titel,1,1)) ='$col' and ABC_Titel like \"".$_GET['ajaxquery']."%\" order by ABC_Titel";

Eigentlich unnötiger Code was aber daran liegt dass das Ganze im selben Skript abgearbeitet wird wie der normale Seitenaufbau der Tabelle. Also ohne Ajax.

Das heißt für mich dass der einzelne Buchstabe aus der ersten Abfrage anders codiert sein muss als der String aus der zweiten Abfrage. Obwohl aus dem selben Feld. Oder nicht?

Ich glaube nicht dass ich an den allgemeinen Codierungen groß etwas ändern kann weil mein Teil ist eigentlich nur eine Extension. Ein Glossar um genau zu sein. Wie die Datenbanken und restliche Webseitenteile formatiert sind darauf hab ich eigentlich keinen großen Einfluss...