Avatar billede hathor Nybegynder
18. januar 2011 - 17:44 Der er 4 kommentarer og
1 løsning

MySQL udtræk fra database, hvor betingelse indeholder Ø

Jeg har desværre arvet en database, lavet af en person der har brugt ÆØÅ uden at indsætte det i databasen efter en tur gennem http://php.net/manual/en/function.htmlentities.php, og derfor indeholder visse felter Ø, hvilket returnerer falsk i en query.

Det kunne f.eks. være således:

("SELECT * from database WHERE status_skift != '' AND bruger = 'jørn'");

Dette leverer et tomt resultat.

Jeg har brug for at lave netop dette udtræk, og jeg kan ikke omdøbe brugeren, det ville være alt for omfattende.

Jeg kan også have brug for eksempelvis at validere at jørn == jørn - og dette returnerer også falskt.

Hvad kan jeg gøre, når nu problemet FINDES, og det ikke er en mulighed at ændre de ramte entries?
Avatar billede michael_stim Ekspert
18. januar 2011 - 18:52 #1
Har du en post der hedder jørn og du søger på jørn, burde der returneres jørn. Så fejlen ligger nok et andet sted.
Avatar billede hathor Nybegynder
18. januar 2011 - 21:00 #2
Hvis jeg beder PHP om at outputte æøå skal jeg huske at bruge æ ø og å

kommandoen echo "Ingen poster opfylder søgekriteriet"; outputter 

"Ingen poste opfylder søgekriteriet"



Så PHP parser måske ikke ÆØÅ rigtigt til MySQL - men det er stadig et problem. Et stort. Jeg kører Ubuntu på serveren - har du et forslag til et sted at lede efter - og rette fejlen?

Jeg har ikke forstand nok på det selv :(
Avatar billede coderdk Praktikant
18. januar 2011 - 21:11 #3
Problemet er sandsynligvis UTF-8/ISO-8859-1
Inden din echo - Faktisk inden noget output, kan du lave flg:

header("Content-Type: text/html; charset=utf-8");

Så vil det se korrekt ud. Prøv i din SQL:

$sql = sprintf("
  SELECT
      *
  FROM
      database
  WHERE
      status_skift <> ''
      AND bruger = '%s'
  "
  ,mysql_real_escape_string( utf8_decode( $bruger ) )
  );

Hvor $bruger så indeholder "jørn" - Så vil det sandsynligvis virke...
Avatar billede hathor Nybegynder
19. februar 2011 - 08:41 #4
Smid et svar
Avatar billede coderdk Praktikant
19. februar 2011 - 12:39 #5
Yessir :)
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