Autor | Zpráva | ||
---|---|---|---|
Kajana Profil * |
#1 · Zasláno: 10. 3. 2011, 14:55:54
Ahoj,
mám odeslání formuláře přes Ajax: $.ajax({ type: "POST", url: "autosave.php", data : "editor1="+editor1+"&hidden="+hidden+"&nadpis="+nadpis, cache: false, success: function(message) { $("#lastsavetime").empty().append("Last saved : "+message); }, }); V souboru autosave.php mám zpracování. Můj problém je, že se mi tam pošle rozházená čeština, místo např. "Česká spořitelna" se objeví "%u010Ceská Spo%u0159itelna". Vše mám v kódování Windows 1250. Zkoušela jsem: <script charset="windows-1250" type="text/javascript"> také $.ajaxSetup({ 'beforeSend' : function(xhr) { xhr.overrideMimeType('text/html; charset=windows-1250'); } }); také v autosave.php header('Content-Type: text/html; charset=windows-1250'); i hrátky s Iconv. Bohužel zatím nic nepomáhá :( |
||
Chamurappi Profil |
#2 · Zasláno: 10. 3. 2011, 15:17:12
Reaguji na Kajanu:
„data : "editor1="+editor1+"&hidden="+hidden+"&nadpis="+nadpis“ Co když bude v proměnné nadpis ampersand? Když zanořuješ text do nějakého formátu (ať už je to URL, nebo HTML, nebo SQL), musíš se přizpůsobit jeho syntaxi. V JavaScriptu je na to krásná metoda encodeURIComponent , bohužel ale enkóduje jen do UTF-8 (což by mělo být výchozí kódování URL).
„se objeví "%u010Ceská Spo%u0159itelna"“ To už ale provádíš nějaký escape , ne? S tebou uvedeným kódem bych takovýto výsledek neočekával.
„Vše mám v kódování Windows 1250.“ V jQuery není žádná metoda na konverzi do URL při kódování windows-1250 .
„xhr.overrideMimeType“ Tuto metodu nepodporují všechny prohlížeče (=> způsobí chybu). |
||
Kajana Profil * |
#3 · Zasláno: 10. 3. 2011, 15:23:09
Díky moc za trknutí s "escape". Měla jsem tam
var nadpis = escape(document.formular.nadpis.value); Po odstranění funguje :-) |
||
Chamurappi Profil |
#4 · Zasláno: 10. 3. 2011, 15:34:07
Reaguji na Kajanu:
I když do nadpisu někdo napíše ampersand? |
||
Kajana Profil * |
#5 · Zasláno: 10. 3. 2011, 15:35:21
To řeší ten encodeURIComponent ne?
var nadpis = encodeURIComponent(document.formular.nadpis.value); |
||
Kcko Profil |
#6 · Zasláno: 10. 3. 2011, 15:35:35 · Upravil/a: Kcko
Kajana:
encodeURIComponent Edit: zná |
||
Chamurappi Profil |
#7 · Zasláno: 10. 3. 2011, 15:51:10
Reaguji na Kajanu:
Ano, řeší. Psala jsi, že jsi escape odstranila, ne nahradila :-) |
||
Časová prodleva: 13 let
|
0