473,499 Members | 1,619 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

XMLHTTP

Hello,
I am working on a site which utilizes PHP/JS and the new found XMLHTTP
frenzy to update dynamically.
WHile the whole mechanism works beautifull, i can't get to display
greek Characters correct (They show up as ?).
I tried following solutions to set the XML:lang or simple lang
parameter in the div to el, but that didn't help.. Greek text in the
surrounding page is showing up correct..
Here is the code i am using:
The JS File
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}

function loadFragmentInToElement(fragment_url, element_id) {
var element = document.getElementById(element_id);
element.innerHTML = 'Loading ...';
xmlhttp.open("GET", fragment_url);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
element.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}

The client PHP:
<?php
include ("../_mssqlconnect.php");
include ("get_login_data.php");
?>
<script>
function offerDetails(id)
{
loadFragmentInToElement('sc_ogdetails.php?ogid='+i d, 'ogDetails');
}
</script>

//......

?>
<span lang="el" id="ogDetails" align="left"></span>

The server PHP:
<?php
include ("../_mssqlconnect.php");

//.......

echo "<div lang=\"el\">
<table class='sp_table' width=300 align=center>
<tr>
<td align=center><b>{here the greek Text which doesnt come
out right}<b></td>
</tr>
</table></div>";

ANy hints?
thanks

Jul 23 '05 #1
6 3058


Nemlah wrote:

I am working on a site which utilizes PHP/JS and the new found XMLHTTP
frenzy to update dynamically.
WHile the whole mechanism works beautifull, i can't get to display
greek Characters correct (They show up as ?). element.innerHTML = xmlhttp.responseText;


responseText is unreliable when it comes to encodings other than UTF-8
or UTF-16. So if you want to use responseText then make sure your PHP
page sends UTF-8 encoded text. Or do not use responseText but exchange
XML and use responseXML, then if your PHP page sends XML with the proper
XML declaration the XML parser should recognize the encoding and
properly decode characters. But XML parsers are only required to support
the encodings UTF-8 and UTF-16 thus if you want to make sure your page
works with as many browsers as possible then you should use one of those
encodings for your XML sent.

--

Martin Honnen
http://JavaScript.FAQTs.com/
Jul 23 '05 #2
Hey thanks for the fast reply,
I read about the UTF-8 encoding of the strings sent via responseText,
and i hoped i could setRequestHeader to the correct charset.. Doesn't
seem to work though..(unknown exception error)
I am trying the XML approach you suggested. Actually i am writing
manually an XML string and echoing it. All i get so far though is a
[object] in IE and nothing in firefox.
Apparently the responseXML returns an Document object. How can i print
it? I am not really interested right now in XML magic, but if wrapping
the data in XML helps i am willing to do that..
Any further hints..?
Thanks

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 23 '05 #3
Vasilis Dimos wrote:
Hey thanks for the fast reply,
I read about the UTF-8 encoding of the strings sent via responseText,
and i hoped i could setRequestHeader to the correct charset.. Doesn't
seem to work though..(unknown exception error)
I am trying the XML approach you suggested. Actually i am writing
manually an XML string and echoing it. All i get so far though is a
[object] in IE and nothing in firefox.
Apparently the responseXML returns an Document object. How can i print
it? I am not really interested right now in XML magic, but if wrapping
the data in XML helps i am willing to do that..
Any further hints..?
Thanks


I had a similar problem not long ago.
i past again some php code which should help you.

<?php
$xmlString = '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n";
$xmlString .=
'<root><text xml:lang="de">Umlaute: ä, ö, ü</text></root>';
header('Content-Type: application/xml');
echo utf8_encode($xmlString);
?>

As you can see the xml string is build also manually, but is utf8
encoded before echoed.

In the Javascript again, you can access the responseXML object with the
normal W3C DOM Methods.

Have a look a this page for a good intro:
http://www.quirksmode.org/dom/intro.html
Jul 23 '05 #4


Vasilis Dimos wrote:

I read about the UTF-8 encoding of the strings sent via responseText,
and i hoped i could setRequestHeader to the correct charset.. Doesn't
seem to work though..(unknown exception error)


The PHP script needs to send UTF-8 encoded text so I am not sure what
you are trying to achieve with setRequestHeader on the client.


--

Martin Honnen
http://JavaScript.FAQTs.com/
Jul 23 '05 #5


Vasilis Dimos wrote:

I am trying the XML approach you suggested. Actually i am writing
manually an XML string and echoing it. All i get so far though is a
[object] in IE and nothing in firefox.


I do not speak Greek so I am relying on babelfish for this. It
translates English
Who is god?
to the following:
Î*οιος είναι Θεός;

Now assuming you are encoding your PHP pages as ISO-8859-7 which is an
8-bit encoding allowing you to use Latin letters and Greek letters you
could send your XML as ISO-8859-7 and then rely on the XML parser to
decode that. As said XML parsers do not need to understand that encoding
but my tests here with MSXML/IE 6, Mozilla and with Opera 8.00 beta show
they do understand that.
I have used the following PHP test page encoded as ISO-8859-7:

<?php
$text = 'Î*οιος είναι Θεός;';
$xmlSource = '<?xml version="1.0" encoding="ISO-8859-7"?>' . "\r\n";
$xmlSource .= '<text xml:lang="gr">' . $text . '</text>';
header('Content-Type: application/xml');
echo $xmlSource;
?>

Then client-side script reads the XML sent as follows:

function getText (url, callback) {
var httpRequest;
if (typeof XMLHttpRequest != 'undefined') {
httpRequest = new XMLHttpRequest();
}
else if (typeof ActiveXObject != 'undefined') {
httpRequest = new ActiveXObject('Microsoft.XMLHTTP');
}
if (httpRequest) {
httpRequest.open('GET', url, true);
httpRequest.onreadystatechange = function () {
if (httpRequest.readyState == 4 && httpRequest.responseXML) {
var xmlDocument = httpRequest.responseXML;
if (xmlDocument.documentElement &&
xmlDocument.documentElement.firstChild) {
callback(xmlDocument.documentElement.firstChild.no deValue);
}
}
};
httpRequest.send(null);
}
}

function insertTextIntoBody (text) {
var p;
if (document.createElement && (p = document.createElement('p'))) {
p.appendChild(document.createTextNode(text));
document.body.appendChild(p);
}
}

getText('test2004123101.php', insertTextIntoBody);

and then the tested browsers show

Î*οιος είναι Θεός;

in the HTML page.
Or use the PHP extension iconv if you have that available
http://de3.php.net/manual/en/function.iconv.php
to convert your 8-bit PHP strings to UTF-8 as needed.

--

Martin Honnen
http://JavaScript.FAQTs.com/
Jul 23 '05 #6


Hey Guys,
Thanks a lot for the answers. This is actually a lot more than I could
hope for. I will try this first thing in 2005. Happy new Year to all of
you.

Thanks Vasilis

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 23 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
5550
by: fochie | last post by:
Greetings, I'm having a problem when I try to GET a file from my server via xmlhttp when using Mozilla. With IE I can get any type of file fine, get/display headers fine, etc. With Mozilla,...
1
4896
by: Ike | last post by:
Ive copied an online example for writing out a php file, programmatically, then would like to re-display that data in a browswer window that automatically refreshes as the data file (getdata.php,...
5
2793
by: hatsumoto | last post by:
Hello, I create an ActiveXObject("Msxml2.XMLHTTP") from my HTML page to submit (i.e. post) XML to a server. I can see the content of the XML response via javascript alert(xmlhttp.responseText)....
9
2360
by: balakrishnan.dinesh | last post by:
hi friends, Exactly what i want to know is, In my product we are using xmlhttp request to retrive some data from the server, And Im using IE browser, its working fine in IE. Now i want to work...
13
25063
by: yawnmoth | last post by:
<http://www.quirksmode.org/book/printable/xmlhttp.txtshows two alternatives to Microsoft.XMLHTTP - Msxml2.XMLHTTP and Msxml3.XMLHTTP. If my understanding is correct, the different numbers refer to...
1
3823
by: wkerplunk | last post by:
Below is what I have build with several different languages. It works great but I need help, I am stuck. When you click on an item in the dropdown autocomplete div it does a mousedown function...
3
2564
by: Andrewh | last post by:
Hi, I am having a bit of a problem with using xmlhttp. The code of the javascript file is shown below used in Windows XP. var xmlhttp = null; function SetURLDiv(url) { if...
2
12443
by: trpost | last post by:
Is it possible to execute javascript as passed in xmlHttp.responseText Here is what I am doing: search.js var xmlHttp xmlHttp=GetXmlHttpObject() var url="search.php"...
1
1483
by: StevenS | last post by:
Ok, I'm very new to AJAX programming, and fairly new to Javascript. (I was originally trained on low-level C programming.) I'm trying to build a simple AJAX routine in a file named ajax.js: ...
0
7134
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7180
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7229
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
6905
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
1
4921
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3103
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1429
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
667
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
311
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.