Ich weiß, das klingt schlecht, aber es ist notwendig.Javascript konvertieren String von utf-8 zu iso-8859-1
Ich habe ein HTML-Formular auf einer Website mit utf-8 Zeichensatz, die an einen Server gesendet wird, der mit dem iso-8859-1-Zeichensatz arbeitet. Das Problem ist, dass der Server Zeichen, die wir in Spanien verwenden, wie à, á, è, é, ì, í, ò, ó, ù, ú, ñ, ç
und so weiter nicht richtig versteht. Also, wenn ich etwas suche wie artículo
antwortet es nichts mit artÃculo
gefunden.
Ich schicke das Formular mit ajaxform (http://malsup.com/jquery/form/) und der Code loks wie folgt aus:
$(".form-wrap, #pagina").on("submit", "form", function(event){
event.preventDefault();
$(this).ajaxSubmit({
success: function(data){
$("#temp").html(data);
//Handle data in #temp div
$("#temp").html('');
}
});
return false;
});
Mein Problem ist: Ich habe keinen Zugang zum Suchserver und ich kann nicht die gesamte Website ändern zu isolieren 8859-1 encodig, da dies andere Sachen brechen würde.
ich ohne Erfolg diese Skripte alredy versucht haben:
- http://phpjs.org/functions/utf8_decode/
- http://phpjs.org/functions/utf8_encode/
- http://ecmanaut.blogspot.com.es/2006/07/encoding-decoding-utf8-in-javascript.html
ich falsch alles tun werde?
Edit: die escape
Funktion für mich nicht sinnvoll ist, da sie diese räumliche Zeichen in %
Präfix-Codes verwandelt, die auf dem Server sind nutzlos, es sucht dann nach art%EDculo
.
Bearbeiten mit der encodeURIComponent
Funktion der Server versteht art%C3%ADculo
. P.S. Ich benutze nur das Wort artículo
zum Testen, aber die Lösung sollte alle Sonderzeichen abdecken.
Versuchen Sie, die alte Zeichenfolge ['escape'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/escape) zu verwenden, um Ihre Strings zu codieren. Besser noch, finde den, der diesen Server betreibt und [mit einem Huhn trifft] (https://www.youtube.com/watch?v=y3ln6mp0HNM) – georg
Mögliche Duplikate von [Wie umwandle ich einen Javascript-String nach ISO- 8859-1?] (Http://stackoverflow.com/questions/2283829/how-do-i-transcode-a-javascript-string-to-iso-8859-1) –
@georg Ja, ich würde ihn mit einem schlagen Hühnchen (aber ein lebendes), wenn ich könnte, ist die Flucht nicht nützlich, da es den Zeichencode mit dem Präfix "%" zurücklässt. @ matthew-herbst Ich bin mir nicht sicher, ob es wirklich ein Duplikat ist, ich habe schon die Antworten aus dieser Frage versucht, aber es hilft nicht. – Falk