Autor | Zpráva | ||
---|---|---|---|
prochar1 Profil * |
#1 · Zasláno: 26. 1. 2009, 23:27:51
Zdravím,
odeslílám data formuláře pomocí $.get na php script. Jak mám vyřešit aby ve výsledných proměnných byla správně čeština. Celý projekt mám ve windows-1250. Díky :) |
||
charlie22 Profil * |
#2 · Zasláno: 27. 1. 2009, 02:23:43
Musíš mít v tom PHP header s charsetem:
header('Content-Type: text/html; charset=windows-1250'); |
||
prochar1 Profil * |
#3 · Zasláno: 27. 1. 2009, 09:36:07
to samozřejmě mám...
problém je už v tom jquery a ajaxu, že to pošle takhle blbě tohle žčážřžářžá má být ěščřžýáíé |
||
Joker Profil |
#4 · Zasláno: 27. 1. 2009, 09:58:43
Nějaký soubor má asi špatně kódování. Zdá se, že někde není windows-1250, ale utf-8.
|
||
srigi Profil |
#5 · Zasláno: 27. 1. 2009, 10:05:07 · Upravil/a: srigi
prochar1
Kedysi som s tym bojoval, ked som v cistom JS posielal retazce s diakritikou na server. Riesenim bolo nastavenie headra v JS: XmlHttpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); Skus pohladat podobnu funkciu (option) v Jquery.ajax() |
||
charlie22 Profil * |
#6 · Zasláno: 27. 1. 2009, 10:17:30
no a ta stránka, kde je pracuje jQuery script má taky kódování 1250??
|
||
prochar1 Profil * |
#7 · Zasláno: 27. 1. 2009, 16:01:05
|
||
charlie22 Profil * |
#8 · Zasláno: 27. 1. 2009, 17:11:25
a co tohle?
<script charset="windows-1250" type="text/javascript"> |
||
charlie22 Profil * |
#9 · Zasláno: 27. 1. 2009, 17:17:17
ale osobne bych přešel na UTF-8, 1250 už je jaksi historie.. :-)
|
||
prochar1 Profil * |
#10 · Zasláno: 27. 1. 2009, 17:19:15
charlie22:
když to tam mám pomocí header, tak to tam nemusím dávat takhle. problém je někde v javascriptu |
||
prochar1 Profil * |
#11 · Zasláno: 27. 1. 2009, 17:20:31
jenže předělat celej projekt a všecvhny ostatní , který otvírám v pspadu do UTF-8 je docela fuška
|
||
charlie22 Profil * |
#12 · Zasláno: 27. 1. 2009, 17:23:17
tak posli nejaky kod, kde ti to dela, pokud mas header v poradku, tak neni duvod, proc by to melo delat, pro jistotu zkus JS rict tu znakovou sadu a uvidime, pak by byl problem nekde jinde.
|
||
prochar1 Profil * |
#13 · Zasláno: 27. 1. 2009, 17:43:25
snažím se prostě vytvořit diskuzi bez refreshe stránky
formulář: <style> .im_vzkazy { border: 1px solid silver; overflow: auto; height: 200px; padding: 10px; } </style> <script type="text/javascript" charset="windows-1250"> $(document).ready(function(){ $(".im_vzkazy").text("Načítá se..."); var val_nick=$(".nick").attr("value"); $(".im_vzkazy").load("vzkazy/im_vzkazy.php?nick="+val_nick); $(".obnovit").click(function(){ var val_nick=$(".nick").attr("value"); $(".im_vzkazy").text("Načítá se..."); $(".im_vzkazy").load("vzkazy/im_vzkazy.php?nick="+val_nick); }); $(".odeslat").click(function(){ var val_id_komu=$(".id_komu").attr("value"); var val_id_od=$(".id_od").attr("value"); var val_sms_mail=$(".sms_mail").attr("value"); var val_text=$(".text").attr("value"); var val_nick=$(".nick").attr("value"); $(".text").val(""); $(".im_vzkazy").text("Načítá se..."); var odeslano=$.get("vzkazy/scripts/save_vzkaz.php", { id_komu: val_id_komu, id_od: val_id_od, id_user: val_id_od, sms_mail: val_sms_mail, text: val_text }) if(odeslano){ $(".im_vzkazy").load("vzkazy/im_vzkazy.php?nick="+val_nick); } }); }); </script> <div class="panel" id="im" style="width: 420px;"> <h3>Vzkazy</h3> <div class="panel1"> <div class="im_formular"> <input type="hidden" value="<?echo $nick['id'];?>" name="id_komu" class="id_komu" /> <input type="hidden" value="<?echo $nick['nick'];?>" name="nick" class="nick" /> <input type="hidden" value="<?echo $user['id'];?>" name="id_od" class="id_od" /> <input type="hidden" value="<?echo $nick['sms_mail'];?>" name="sms_mail" class="sms_mail" /> <textarea name="text" class="text" style="width: 404px; height: 60px;"><?echo $text;?></textarea> <a class="obnovit" style="float: right; margin-top: 14px;">obnovit vzkazy</a> <input type="submit" value="odeslat" class="odeslat" style="margin-top: 3px; margin-bottom: 10px;" /> <br /> </div> <div class="im_vzkazy"> </div> </div> </div> to se vkláda phpčkem do index stránky, která všechny náležitosti kolem kódování atd. má nastavený a odeslílám na script save_vzkaz.php <?php include "../../scripts/header.php"; //header.php obsahuje header('Content-type: text/html; charset=windows-1250'); cesta je správná a pak tam mám ukládání Get dat do databáze a tam už se ukládaj ptákoviny, co se týče češtiny ?> |
||
Chamurappi Profil |
#14 · Zasláno: 27. 1. 2009, 17:48:00
Reaguji na prochar1:
Jedna živá ukázka je lepší než tisíce slov. Reaguji na charlieho22: „osobne bych přešel na UTF-8, 1250 už je jaksi historie.. :-)“ Historická je spíš epocha, kdy na kódování záleželo. „a co tohle?“ Atribut „charset“ se užívá k určení kódování externího JS, je-li jeho kódování jiné než kódování dokumentu. Nemá vůbec žádný vliv na XMLHttpRequest. |
||
prochar1 Profil * |
#15 · Zasláno: 27. 1. 2009, 17:53:11
a jak tedy XMLHttpRequest v Jquery ovlivním? nic podobnýho jsem dokumentaci nenašel
|
||
charlie22 Profil * |
#16 · Zasláno: 27. 1. 2009, 19:52:46
tak jsem s tim laboroval chvilku a mas 2 moznosti, bud si prepni hlavicku, kde mas jQuery na utf-8 nebo do PHP dej napriklad tohle:
echo iconv('windows-1250','utf-8',$_GET['id_komu'])."<br>"; |
||
charlie22 Profil * |
#17 · Zasláno: 27. 1. 2009, 19:53:43
otazkou je, v jakym kodovani to zapisujes do DB jeste.
|
||
prochar1 Profil * |
#18 · Zasláno: 28. 1. 2009, 13:21:55
ok, díky :)
iconv('utf-8','windows-1250',$_GET['text']); pomohlo :) |
||
charlie22 Profil * |
#19 · Zasláno: 28. 1. 2009, 17:17:44
jinka ten AJAX request loader mas spatne a urcite to nebude fungovat, jak ocekavas, pouziva se pro to něco takové:
$.ajaxStart(function(){ $('.neco').html('Nahrávám data...') }); |
||
Chamurappi Profil |
#20 · Zasláno: 28. 1. 2009, 17:34:41
Reaguji na prochar1:
Metoda GET se hodí jen na krátké texty, protože URL s několika tisíci znaky není spolehlivá. Použij raději POST. |
||
Časová prodleva: 4 roky
|
|||
Anna007 Profil |
charlie22 - díky moc, to mi vyřešilo problém, s kterým jsem nemohla hnout !!!
|
||
Chamurappi Profil |
#22 · Zasláno: 8. 6. 2013, 13:14:24
Reaguji na Annu007:
„to mi vyřešilo problém“ Co konkrétně? Přecházet na UTF-8 kvůli AJAXu nutné není. |
||
Časová prodleva: 11 let
|
0