AJAX & Greek...

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

AJAX & Greek...

Δημοσίευση από panosru » 18 Μαρ 2006 02:21

Geiasas paidia! :D

exo ena problhmataki edo me ena AJAX script kai to paleyo tosh ora to gamhnpo th tora.. an exei kaneis kapoia lysh....

Problhma: anti gia ellhnika mou bgazei ?

Kodikas JavaScript

Κώδικας: Επιλογή όλων

var xmlHttp

function showContent(str)
{ 
	var url="./includes/sections.inc.ajax.php?act=" + str 
	xmlHttp=GetXmlHttpObject(stateChanged)
	xmlHttp.open("GET", url , true)
	xmlHttp.send(null)
} 

function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("txtHint").innerHTML = xmlHttp.responseText 
	} 
} 

function GetXmlHttpObject(handler)
{ 
	var objXmlHttp=null

	if (navigator.userAgent.indexOf("Opera")>=0)
	{
		alert("This example doesn't work in Opera") 
		//return 
	}
	if (navigator.userAgent.indexOf("MSIE")>=0)
	{ 
		var strName="Msxml2.XMLHTTP"
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
		{
			strName="Microsoft.XMLHTTP"
		} 
		try 
		{
			objXmlHttp=new ActiveXObject(strName)
			objXmlHttp.onreadystatechange=handler 
			return (objXmlHttp);
		} 
		catch(e)
		{ 
			alert("Error. Scripting for ActiveX might be disabled") 
			return 
		} 
	} 
	if (navigator.userAgent.indexOf("Mozilla")>=0)
	{
		objXmlHttp=new XMLHttpRequest()
		objXmlHttp.onload=handler
		objXmlHttp.onerror=handler 
		return (objXmlHttp);
	}
}  
Kodikas PHP Script

Κώδικας: Επιλογή όλων

<?php
include_once&#40;"./../PHP/settings.inc"&#41;;
?>
<fieldset>
	<legend><?PHP $myMenu -> cpNavTitle&#40;&#41;; ?></legend>	
	<div><?PHP $myMenu -> cpNavigation&#40;&#41;; ?></div>
</fieldset>
sto arxeio opou kalo to AJAX Script exo balei greek charset encoding..

Κώδικας: Επιλογή όλων

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7" />

otidhpote eyprosdekto,

thanks ek ton proteron! :D

:roll:
Τελευταία επεξεργασία από το μέλος panosru την 18 Μαρ 2006 12:19, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

AJAX & Greek...

Δημοσίευση από skeftomilos » 18 Μαρ 2006 12:10

Θέλει λίγη προσοχή με τα charsets και encodings, βασικά δοκιμές θέλει μέχρι να δουλέψει.

Κώδικας: Επιλογή όλων

xmlHttp.setRequestHeader&#40;'Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'&#41;
...με στατικά data:

Κώδικας: Επιλογή όλων

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<fieldset>
  <legend>blah</legend>   
  <div>blah</div>
</fieldset>
Για δυναμικά data πρέπει να υπάρχουν οι κατάλληλοι headers. Ένα παράδειγμα σε ASP:

Κώδικας: Επιλογή όλων

<%@LANGUAGE=JScript CODEPAGE=65001 LCID=1032%>
<%
  Response.Charset = 'utf-8'
  Response.CodePage = 65001
  Response.LCID = 1032
  Response.ContentType = 'text/plain'
  Response.Expires = -1000

  Response.Write&#40;'Hello!Καλημέρα!'&#41;
%>
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

AJAX & Greek...

Δημοσίευση από panosru » 18 Μαρ 2006 12:29

thanks gia tis idees to eftiaksa! :D

to proto kai to deytero den mou doulepsan alla to 3o san idea doulepse antistoixa ekana ayto:

Κώδικας: Επιλογή όλων

<?php
header&#40;"Content-type&#58; text/html; charset=iso-8859-7"&#41;; 
include_once&#40;"./../PHP/settings.inc"&#41;;
?>
<fieldset>
   <legend><?PHP $myMenu -> cpNavTitle&#40;&#41;; ?></legend>   
   <div><?PHP $myMenu -> cpNavigation&#40;&#41;; ?></div>
</fieldset> 
PS: me UTF-8 den mou douleye :/

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

AJAX & Greek...

Δημοσίευση από skeftomilos » 18 Μαρ 2006 15:17

Αφού βρήκες λύση μην το ψάχνεις άλλο, είναι σπαζοκεφαλιές αυτές οι κωδικοποιήσεις. :)

Εκτός από HTML μπορείς να στείλεις και JavaScript, κάτι που μπορεί να είναι πιο πρακτικό και ευέλικτο:

Κώδικας: Επιλογή όλων

<?php
  header&#40;"Content-type&#58; text/javascript; charset=iso-8859-7"&#41;;
?>
&#123;
  title      &#58; '<?PHP $myMenu -> cpNavTitle&#40;&#41;; ?>',
  navigation &#58; '<?PHP $myMenu -> cpNavigation&#40;&#41;; ?>'
&#125;
...και μόλις φτάσει το JS object να το διαβάσεις ως εξής:

Κώδικας: Επιλογή όλων

var myObject = eval&#40;'&#40;' + xmlHttp.responseText + '&#41;'&#41;
alert&#40;myObject.title&#41;
Αυτή η μορφή δεδομένων λέγεται JSON, κι εδώ υπάρχει μια μικρή library που μπορεί να κάνει client-side serialization, deserialization: JSON Library
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

AJAX & Greek...

Δημοσίευση από panosru » 18 Μαρ 2006 15:21

oraio ;) katse na matho "kala" JavaScript kai tha to dokimaso :P pros to paron afou douleyei... :D

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

AJAX & Greek...

Δημοσίευση από panosru » 24 Μαρ 2006 02:00

telika exo akoma problhma :(
mporo na emfaniso ta ellhnika alla otan kano edit h write me ellhniko keimeno mesa mou to bgazei kapos etsi:
Ξ±Ο&#65533;δαΟ&#65533;δαΟ&#65533;Ξ΄

paratheto ton kodika ap' opou kalo kapoies basikes leitourgies tou AJAX na deite mpas kai leipei tpt h an exo kanei kati lathos...

(sorry pou einai kapos megaloutsikos gia post :S)

Κώδικας: Επιλογή όλων

function createAjaxObj&#40;&#41;
&#123;
	var httprequest=false
	if &#40;window.XMLHttpRequest&#41;
	&#123; 
		// if Mozilla, Safari etc
		httprequest=new XMLHttpRequest&#40;&#41;
		if &#40;httprequest.overrideMimeType&#41;
		httprequest.overrideMimeType&#40;'text/xml'&#41;
	&#125;
	else if &#40;window.ActiveXObject&#41;
	&#123; 
		// if IE
		try
		&#123;
			httprequest=new ActiveXObject&#40;"Msxml2.XMLHTTP"&#41;;
		&#125; 
		catch &#40;e&#41;
		&#123;
			try
			&#123;
				httprequest=new ActiveXObject&#40;"Microsoft.XMLHTTP"&#41;;
			&#125;
			catch &#40;e&#41;&#123; alert&#40;'Can not Use AJAX technology here'&#41;; &#125;
		&#125;
	&#125;
	return httprequest
&#125;

var ajaxpack=new Object&#40;&#41;
ajaxpack.basedomain="http&#58;//"+window.location.hostname
ajaxpack.ajaxobj=createAjaxObj&#40;&#41;
ajaxpack.filetype="txt"
ajaxpack.addrandomnumber=1 //Set to 1 or 0. See documentation.

ajaxpack.getAjaxRequest=function&#40;url, parameters, callbackfunc, filetype&#41;
&#123;
	ajaxpack.ajaxobj=createAjaxObj&#40;&#41; //recreate ajax object to defeat cache problem in IE
	if &#40;ajaxpack.addrandomnumber==1&#41; //Further defeat caching problem in IE?
		var parameters=parameters+"&ajaxcachebust="+new Date&#40;&#41;.getTime&#40;&#41;
		if &#40;this.ajaxobj&#41;
		&#123;
			this.filetype=filetype
			this.ajaxobj.onreadystatechange=callbackfunc
			this.ajaxobj.open&#40;'GET', url+"?"+parameters, true&#41;
			this.ajaxobj.send&#40;null&#41;
		&#125;
&#125;

ajaxpack.postAjaxRequest=function&#40;url, parameters, callbackfunc, filetype&#41;
&#123;
	ajaxpack.ajaxobj=createAjaxObj&#40;&#41; //recreate ajax object to defeat cache problem in IE
	if &#40;this.ajaxobj&#41;
	&#123;
		this.filetype=filetype
		this.ajaxobj.onreadystatechange = callbackfunc;
		this.ajaxobj.open&#40;'POST', url, true&#41;;
		this.ajaxobj.setRequestHeader&#40;"Content-type", "application/x-www-form-urlencoded; charset=UTF-8"&#41;;
		this.ajaxobj.setRequestHeader&#40;"Content-length", parameters.length&#41;;
		this.ajaxobj.setRequestHeader&#40;"Connection", "close"&#41;;
		this.ajaxobj.send&#40;parameters&#41;;
	&#125;
&#125;

// PANOS
function changeDivByGet &#40;page, query, myState, show, myRedirect&#41;
&#123;	
	function processGetPost&#40;&#41;
	&#123;
		var myajax=ajaxpack.ajaxobj
		var myfiletype=ajaxpack.filetype
		if &#40;myajax.readyState == 1&#41;
		&#123;
			document.getElementById&#40;'txtHint'&#41;.innerHTML = '<img src="./images/indicator.gif" alt="Loading..." title="Loading..." />&nbsp;Loading...';
		&#125;
		if &#40;myajax.readyState == 4&#41;
		&#123;
			//if request of file completed
			if &#40;myajax.status==200 || window.location.href.indexOf&#40;"http"&#41;==-1&#41;
			&#123; 
				//if request was successful or running script locally
				if &#40;myfiletype=="txt"&#41;
				&#123;					
					//myResponse&#40;myajax.responseText, myState, show&#41;;
					if &#40;show&#41;
					&#123;
						document.getElementById&#40;'txtHint'&#41;.innerHTML = myajax.responseText
						myNavigation &#40;myState&#41;;
					&#125;
					
					if &#40;myRedirect != false&#41;
					&#123;
						showContent&#40;myRedirect&#41;;
					&#125;
					
				&#125;
				else
				&#123;
					alert&#40;'XML'&#41;;
				&#125;
			&#125;
		&#125;
	&#125;
	
	ajaxpack.getAjaxRequest&#40;page, query, processGetPost, "txt"&#41;
&#125;
// EO PANOS

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

AJAX & Greek...

Δημοσίευση από skeftomilos » 24 Μαρ 2006 07:43

Από τη συγκεκριμένη κινέζικη διάλεκτο συμπεραίνω πως έχει δεδομένα UTF8 και τα εμφανίζει ως ASCII. Στη θέση θα προσπαθούσα να εφαρμόσω το utf8 encoding παρά το iso-8859-7.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

AJAX & Greek...

Δημοσίευση από panosru » 24 Μαρ 2006 10:24

exo dokimasei thn bash mou me utf8_bin kai me utf8_unicode sthn bash mou allaksa kai to request header apo to script

Κώδικας: Επιλογή όλων

&#91;...&#93;
this.ajaxobj.setRequestHeader&#40;"Content-type", "application/x-www-form-urlencoded; charset=UTF-8"&#41;; 
&#91;...&#93;
kai den ginete tipota...

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

AJAX & Greek...

Δημοσίευση από panosru » 24 Μαρ 2006 11:32

akyro sorry einai ok leitourgei kanonika

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

AJAX & Greek...

Δημοσίευση από Rapid-eraser » 26 Μαρ 2006 12:13

afto pou mporeis va kaveis apo php eivai va peraseis apo incov ta data sou kai va ta metatrepseis se utf kai va ksemperdebeis :P
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

AJAX & Greek...

Δημοσίευση από panosru » 26 Μαρ 2006 12:35

sthn arxh ayto ekana alla meta ekana olh thn selida se UTF-8 kai boleytika giati hthela kai rossika :D

pantos h AJAX g....aei!!!!

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

AJAX & Greek...

Δημοσίευση από Rapid-eraser » 26 Μαρ 2006 13:01

Aftn eivai kai n magia twv multybyte xaraktirwv ...
oti mporeis poli efkola sto idio egrafo va exeis polla diaforetika charsets omogevopiimeva.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

AJAX & Greek...

Δημοσίευση από panosru » 26 Μαρ 2006 14:16

nai to mono kako einai pos ta UTF-8 apothykeyoun diplous xarakthres alla gia Web einai mia xara! :D

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

AJAX & Greek...

Δημοσίευση από panosru » 28 Μαρ 2006 19:32

re paidia ffs pali exo problhma m' ayth thn *****! :S
mia bdomada prospatho na katalabo giati ston ie otan grafo ellhnika den mou ta pairnei, kataxorei kena sthn bash an grafo rossika kataxorei erothmatika kai an grafo agglika ola ok eno ston ff ola leitourgoun apsoga!
exo charset utf-8 sthn selida kai utf_unicode_ci sthn bash, an ta kataxorhso apo to phpMyAdmin ola ok alla oti kano apo to panel pou ftiaxno se AJAX den kataxorhte... :/

rapid sto chat sou blaipo pos mporo na kataxoryso ellhnika agglika kai rossika apo ie, kaneis kapoio conversion se utf-8 h exeis kanei kapoia patenta? :/

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

AJAX & Greek...

Δημοσίευση από panosru » 28 Μαρ 2006 22:09

encodeURI() i love u!!!!!!
poo kai arxisa na stenaxoriemai se mia fash! :D

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες