Hej, och välkommen till webForum!
Lägg gärna in koden direkt i [php]- eller [kod]-taggar istället för i en bifogad pdf-fil.
Mvh
7 svar · 1 183 visningar · startad av axner72
Jag har en MYSQL databas som innehåller information om fotons filnamn och
text till respektive foto.
När texten innehåller åäöÅÄÖ, blir det någon form fel i en JavaScript funktion.
Hej, och välkommen till webForum!
Lägg gärna in koden direkt i [php]- eller [kod]-taggar istället för i en bifogad pdf-fil.
Mvh
Vad vet jag, men testa UTF-8 i stället för ISO-8859-1 och släng in detta i toppen av sidan, snabeltaggat:
<?php
header('Content-Type: text/html; charset=UTF-8');
mysql_set_charset('utf8',$din_db_länk);
?>
Har bara skummat igenom din kod, så jag kan ha missat något.
Men jag såg att du använder json och vad jag vet så behöver input vara UTF-8.
Vad har du för inställningar på din databas? UTF-8?
/red.
Fick telefonsamtal under tiden jag skrev så Basse hann före :)
Du har följande rad i din HTML:
<meta http-equiv="Content-Type" content="image/html; charset=ISO-8859-1" />
Sätt charset till UTF-8 där istället.
Den header med UTF-8 charset du sätter i PHP lite längre ner kommer inte att utföras eftersom du redan har skickat output till webbläsaren. Du kan då inte sätta några headers (om du inte har output buffer påslaget).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="mshtml 6.00.2800.1264" name="generator" />
<title>Display Images</title>
<style type="text/css">
/*<![CDATA[*/
body {
background-color:#cccccc
}
#bilder {
width:800px;
height:520px
}
#dvtwo {
width:200px;
height:200px;
background:#ffffff;
position:absolute;
top:30%;
left:30%;
margin-top:-100px;
margin-left:-100px;
border: solid 1px #000000
}
#text {
width:600px;
height:5px;
margin-top:20px;
text-align:center
}
button {
width:100px;
height:25px;
backgrond:#cccccc;
font-family:arial;
font-size:16px;
color:#000000;
}
#first {
background:url(first.jpg)
}
#previous {
background:url(previous.jpg)
}
#next {
background:url(next.jpg)
}
#last {
background:url(last.jpg)
}
/*]]>*/
</style>
<?php
header('Content-Type: text/html; charset=UTF-8');
$row = " ";
require_once "opendb.php";
$folder ="bilder";
echo '<font color="red" size="4"</font>';
echo '<body style="background-color:#CCFFCC">';
echo "<center>" ;
$sql = "SELECT bildinfo , bildfilnamn , Datum FROM TordBilder";
$result = mysql_query($sql);
if($result === FALSE)
die(mysql_error());
$imgi = 0;
while($row = mysql_fetch_array($result))
{
$text = $row['bildinfo'];
$file = $row['bildfilnamn'];
$bilddat = $row['Datum'];
$phptab[$imgi] = $file;
$texttab[$imgi] = $text;
$dattab[$imgi] = $bilddat;
echo $imagetext[$imgi];
$imgi = $imgi + 1;
}
$imagetext = json_encode( $texttab );
$imagetab = json_encode( $phptab );
$imagedat = json_encode( $dattab );
mysql_close($con);
?>
<script type="text/javascript">
//<![CDATA[
var image = <?php echo $imagetab ?>;
var imgedatum = <?php echo $imagedat ?>;
var bildtext = <?php echo $imagetext ?>;
var i=0;
function first(){
if((i!==0)||(i==0)){
i=0
document.getElementById('text').innerHTML = bildtext[i] + ' ' + imgedatum[i];
document.getElementById("bilder").src = image[i]
}
}
function previous(){
if(i>=1){
i=i-1;
document.getElementById('text').innerHTML = bildtext[1] + ' ' + imgedatum[i];
document.getElementById("bilder").src = image[i]
}
}
function next(){
if((i>=0)&&(i<=image.length-2)){
i=i+1;
document.getElementById('text').innerHTML = bildtext[i] + ' ' + imgedatum[i];
document.getElementById("bilder").src = image[i]
}
}
function last(){
if(i!=image.length){
i=image.length-1;
document.getElementById('text').innerHTML = bildtext[i] + ' ' + imgedatum[i];
document.getElementById("bilder").src = image[i]
}
}
onload=first;
//]]>
</script>
</head>
<body >
<div id="dvtwo"><img id="bilder" src="" alt=""/></div>
<button id="first" onclick="first()"> Första</button>
<button id="previous" onclick="previous()">Föregående</button>
<button id="next" onclick="next()">Nästa</button>
<button id="last" onclick="last()">Sista</button>
<div id="one">
</div>
</body>
</html>
<?php
$data = "åäöÅÄÖ"
echo utf8_encode($data);
echo utf8_decode($data);
?>
någon utav dom två är det man ska använda ifall man har UTF-8 som charset uppsatt
på sitt dokument