Avatar billede michaeltryl Seniormester
14. februar 2013 - 13:57 Der er 3 kommentarer og
1 løsning

Ajax kald og danske bogstaver i UTF8

Hej
Jeg har en side hvor man skriver noget i et tekstfelt og der så kommer forslag til hvad man vil skrive.

Problemet kommer når der er æøå i databasen - jeg har læst mig frem til at jeg skal bruge UTF-8 alle steder og jeg kan ikke finde nogen steder hvor det ikke er i brug.
Dog er der den php som AJAX kalder - den er gemt som UTF-8, men er i tvivl om der skal mere til.

Hvis det er ikke er den fil håber jeg nogen har bud
database er: utf8_bin, men har også prøvet med utf8_danish_ci

<?php
session_start();
method. */
$dbhost = 'xxxx';
$dbuser = 'xxxx';
$dbpass = 'xxxx';
$dbname = 'xxxx';

try {
  $conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
}
catch(PDOException $e) {
    echo $e->getMessage();
}

$return_arr = array();

if ($conn)
{

$ac_term1  = $_GET['term'];     
$ac_term2  = ucfirst($ac_term1);   
$ac_term = "%".$ac_term2."%";
   
    $query = "SELECT * FROM vare where vare like :term";
    $result = $conn->prepare($query);
    $result->bindValue(":term",$ac_term);
    $result->execute();
   
    /* Retrieve and store in array the results of the query.*/
    while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
        $row_array['id'] = $row['vare_id'];
        $row_array['value'] = $row['vare'];
        $row_array['abbrev'] = $row['pris'];
       
        array_push($return_arr,$row_array);
    }

   
}
/* Free connection resources. */
$conn = null;
/* Toss back results as json encoded array. */
echo json_encode($return_arr);


?>
Avatar billede repox Seniormester
14. februar 2013 - 14:12 #1
Har du en URL som man kan se det på?
Avatar billede olsensweb.dk Ekspert
14. februar 2013 - 14:16 #2
>database er: utf8_bin, men har også prøvet med utf8_danish_ci
brug utf8_danish_ci, da utf8_bin ikke sorterer korrekt.

prøv at sette dit charset, burde ikke være nødvendigtm hvis alt på din db server er sat til UTF-8, men skader ikke, og skjuler fejlene hvis db ikke er helt korrekt, så det kommer ti lat virke
 
$conn = new PDO("mysql:host=$hostname;dbname=$db;charset=utf8", $username, $password);


re http://php.net/manual/en/function.json-encode.php
This function only works with UTF-8 encoded data.
din php fil skal være encodet som UTF-8
gemt som UFT-8 uden bom
evt meta sat til UTF-8
Avatar billede michaeltryl Seniormester
14. februar 2013 - 14:25 #3
tak ronols det var lige hvad jeg havde brug for
bare kom med et svar
Avatar billede olsensweb.dk Ekspert
23. februar 2013 - 01:09 #4
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester