Avatar billede heyn Nybegynder
07. november 2005 - 14:15 Der er 9 kommentarer og
1 løsning

'Underlige' karakterer til istedet for danske karakterer.

Hej Alle
Jeg henter en del data fra en DB. De danske karakter Æ-Å,æ-å bliver ikke udskrevet korrekt. F.eks. oplever jeg at
"echo $navn => 'Jørgensen' når det burde være 'Jørgensen'. Det sker ikke når jeg anvender MySQL. Hvad gør jeg galt?
Mvh Christian
Avatar billede Slettet bruger
07. november 2005 - 14:18 #1
Hvilken tegnsæt er din DB ?

Hvilket tegnsæt bruger du i PHP (ligner du bruger PHP) ?

Og stemmer de to ting overens ?
Avatar billede bromer Nybegynder
07. november 2005 - 14:23 #2
Det ligner at du gemmer latin1 i utf8. Sæt din MySQL til at bruge latin1 og du færdig.
Avatar billede heyn Nybegynder
07. november 2005 - 14:26 #3
Jeg ved ikke precis hvilket tegnsæt min php anvender - jeg hentede bare php-5.0.4-installer.exe hos php.net.
DB er et Active Directory som er uden for min rækkevide, så jeg kender ikke tegnsættet. Jeg har udelukkende ret til at hente data fra det,dets opsætning har jeg ingen indflydelse på.
Mvh Christian
Avatar billede bromer Nybegynder
07. november 2005 - 14:31 #4
Det lyder dejligt. Hvilket tegnsæt dine PHP filer har afhænger vist ikke så meget af PHP men mere af hvordan din webserver vælger at servere dine filer.

Du kan ikke få lavet tegnset'et om i databasen? Når du henter data kan du prøve at lave en print uft8_decode() på data. Det kan være det gør tricket.
Avatar billede heyn Nybegynder
07. november 2005 - 15:14 #5
Godt trick bromer - Det lykkedes - Tak. Min MySQL er allerede sat op til Latin 8 (da). Det kræver vist et SVAR.
Skulle du i parentes vide hvordan man tjekker om et objekt der allerede er hentet fra en LDAP/AD server indeholder en bestemt attribut. Objekter jeg henter indeholder nogle gange attributten telephonenumber - andre gange ikke. Når jeg vil udskrive kommer fejlmeddelse om at index ikke findes?
Avatar billede bromer Nybegynder
07. november 2005 - 15:16 #6
Jeg har absolut ingen anelse :)

Og jeg er lidt forvirret. Du skriver at din database er sat op til latin 8. Mener du ikke latin1 eller uft8. Jeg synes ikke jeg har hørt om latin8.
Avatar billede heyn Nybegynder
07. november 2005 - 15:31 #7
Selvfølgelig - Latin 1!
Måske udtrykte jeg mig lidt kluntet. Hvordan tjekker man om et array indeholder et indexnavn uden at få fejlmelding?
Avatar billede bromer Nybegynder
07. november 2005 - 15:39 #8
Ahh.. på den måde. I php benytter du funktionen array_key_exists [1].

[1] http://dk2.php.net/manual/en/function.array-key-exists.php
Avatar billede heyn Nybegynder
07. november 2005 - 15:43 #9
Tak - fedt svar - Nu starter min side ikke længere med 20 - 30 'notice!'
Avatar billede bromer Nybegynder
07. november 2005 - 15:48 #10
Nej, det er ikke så fedt når det sker. Kan huske jeg havde et system, hvor jeg ikke kunne ændre error level'et, så jeg måtte finde dem manualt over det hele... overhoved ikke sjovt. Men så lærer man at kode korrekt.

Tak for point :)
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
Computerworld tilbyder specialiserede kurser i database-management

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