Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ajax/Javascript: Ääkkösongelma

connor [01.07.2009 09:34:28]

#

http://www.tikankontti.net/whip/testaw.php

oops. kuuluis varmaan nettisivut/ohjelmointi alueeseen, mutta en voi enään vaihtaa

Eli kaikki tällä sivulla olevat äkköset eivät toimi, kun taas muilla sivuilla toimii:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Testi</title>
<script type="text/javascript" src="muuta/refresh.js"></script>

<script type="text/javascript">
<!--
set_loading_message("Ladataan sis&#65533;lt&#65533;&#65533;/Loading content");
//-->
</script>
</head>
<body>
<table>
<tr>
<td valign=top width=150>
<H5>Navigaatio</H5>

<a href="javascript:void(0)" onclick="open_url('1.txt','my_site_content');">Linkki 1</a><br>
<a href="javascript:void(0)" onclick="open_url('2.txt','my_site_content');">Linkki 2</a><br>
<a href="javascript:void(0)" onclick="open_url('3.txt','my_site_content');">Linkki 3</a><br>
<a href="javascript:void(0)" onclick="open_url('4.txt','my_site_content');">Virhe linkki</a><br>
</td>

<td valign=top>
<div id="my_site_content">Valitse sivusta linkki</div>
</td>
</tr>
</table>
&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; - t&#65533;&#65533;ll&#65533; toimii

</body>

Javascript koodi

var please_wait = null;

function open_url(url, target) {
 	if ( ! document.getElementById) {
  		return false;
 	}

 	if (please_wait != null) {
  		document.getElementById(target).innerHTML = please_wait;
 	}

 	if (window.ActiveXObject) {
  		link = new ActiveXObject("Microsoft.XMLHTTP");
 	} else if (window.XMLHttpRequest) {
  		link = new XMLHttpRequest();
 	}

 	if (link == undefined) {
  		return false;
 	}
 	link.onreadystatechange = function() { response(url, target); }
 	link.open("POST", url, true);
 	link.send(null);
}

function response(url, target) {
 	if (link.readyState == 4) {
	 	document.getElementById(target).innerHTML = (link.status == 200) ? link.responseText : "Sisällön lataus epäonnistui/Error loading content<br>Ota yhteyttä ylläpitoon, jos ongelma jatkuu/If this error continues, contact to admin.";
	}
}

function set_loading_message(msg) {
 	please_wait = msg;
}

Metabolix [01.07.2009 09:49:42]

#

Kun kerran UTF-8 on käytössä, voisit saman tien käyttää HTML-entiteettien sijaan oikeita kirjaimia.

Myös JS käyttää tiettyä merkistöä, ja tällä kertaa se kaiketi olettaa, että teksti on ISO-8859-1-tekstiä. Mahdollinen ratkaisu löytyy Googlella hakusanoilla JS UTF-8.

connor [01.07.2009 09:58:25]

#

Oon käyttänyt oikeita merkkejä, mutta kun kopioin lähdekoodin toi muuttaa ne tollaisiksi.

Metabolix [01.07.2009 10:03:39]

#

Oletko nyt aivan varmasti tallentanut tiedoston UTF-8:na? &#65533; vastaa merkkiä �, jonka monet ohjelmat näyttävät, jos ISO-8859-1-ääkkösiä yritetään tulkita UTF-8:ksi; sen sijaan UTF-8-merkistön kirjain ä on ISO-8859-1:ssä tulkittuna ä. Tämän takia veikkaan, että olet kaikesta huolimatta tallentanut tiedoston väärässä muodossa. Koodaus ei muutu siitä, että käsket palvelimen väittää sitä UTF-8:ksi, vaan jo tekstieditorista pitää valita oikea merkistö.

connor [01.07.2009 10:15:26]

#

Nyt toimii

Jos jollakin ilmenee sama ongelma niin tässä ratkaisu:
www.tikankontti.net/whip/gogo.php

Joo taisi olla tosta utf-8 jutusta kiinni

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta