| 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: 12 let
|
|||
0