webForumDet fria alternativet

Tecknen åäöÅÄÖ från mysql Fungerar inte

PHP

7 svar · 1 183 visningar · startad av axner72

Medlem sedan apr. 20144 inlägg
Frågan#1

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.

Medlem sedan juni 200032 967 inlägg
#2

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

Medlem sedan nov. 20016 480 inlägg
#3

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);
?>
Medlem sedan juni 20006 031 inlägg
#4

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 :)

Medlem sedan apr. 20144 inlägg
#5

Teckenkod

Hej,

Jag har följande tecken kod i databasen utf8_swedish_ci

/tord

Medlem sedan jan. 2005953 inlägg
#6

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).

Medlem sedan apr. 20144 inlägg
#7
<!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>
Medlem sedan apr. 20141 inlägg
#8
<?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

278 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
148 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)