Avatar billede cronick Nybegynder
17. maj 2006 - 15:07 Der er 43 kommentarer og
1 løsning

Skriver ikke danske bogstaver, såsom æ

Hej,
jeg har dette irriterende problem. Efter jeg har flyttet server til en anden dansk, vil den ikke skrive æ, ø og å når man udskriver data fra mysql. Den gør det fint i alm tekst, men fra tabellerne i mysql, kommer den med mærkelige tegn, såsom Y(med streg igennem) og andre mærkelige tegn. Har fået af vide, at det er min kodnings skyld. Kan det være muligt?

- På forhånd tak.
Avatar billede ladyhawke Novice
17. maj 2006 - 15:33 #1
ja det kan det....

du skal sikre dig at din encoding på dine sider passer, hvordan henter du data fra mysql?
Avatar billede abruscato Nybegynder
17. maj 2006 - 15:37 #2
Avatar billede cronick Nybegynder
17. maj 2006 - 15:39 #3
$link = mysql_connect('server', "brugernavn", "kode");
mysql_select_db("database",$link);

og f.eks:
mysql_query("SELECT * FROM tabel");

.. :/
Avatar billede ladyhawke Novice
17. maj 2006 - 15:50 #4
altså php, hvordan ser header ud i den html side du bruger til at vise det?
Avatar billede cronick Nybegynder
17. maj 2006 - 15:53 #5
Bruger ikke nogen header, måske derfor? :/
Hvordan kunne en header evt. se ud, så den virkede til dansk?
Avatar billede abruscato Nybegynder
17. maj 2006 - 15:54 #6
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DA">
Avatar billede ladyhawke Novice
17. maj 2006 - 15:55 #7
http://tlt.psu.edu/suggestions/international/web/tips/declare.html
kig her og se hvad der står om det og tjek så at encoding stemmer med din MySQL base, som abruscatos link henviser til
Avatar billede cronick Nybegynder
17. maj 2006 - 16:01 #8
Okay, det skete der dog ikke så meget ved, abruscato.. Er der mere der skal ind da?
Avatar billede abruscato Nybegynder
17. maj 2006 - 16:03 #9
Prøv at kigge på collations istedet.
Avatar billede cronick Nybegynder
17. maj 2006 - 16:07 #10
Okay.. Men er det her ikke til, hvis den overhovedet ikke vil skrive danske bogstaver som æ, ø og å? Det er jo KUN når man henter fra databasen, så burde det ikke være den der er noget galt med?
Avatar billede sw_red_6 Nybegynder
17. maj 2006 - 16:08 #11
det kunne ikke tænkes at det sker når du gemmer? Har du tjekket i databasen om der står æøå eller de der underlige tegn?
Avatar billede cronick Nybegynder
17. maj 2006 - 16:10 #12
Det er når der gemmes, nu.. Jeg har skiftet server, fra en dansk til en anden dansk. Men på den her, vil den ikke vise æ, ø og å fra databasen. Det står rigtigt nok i databasen, det jeg har flyttet ind (tidligere skrevet på siden). Men det der bliver sat ind i databaserne nu, er med sådan nogle firkantede tegn, istedet for æ, ø og å. Så det går både galt ved hentning og skrivning.
Avatar billede abruscato Nybegynder
17. maj 2006 - 16:11 #13
Hvilken MySQL version bruger du nu?
Avatar billede cronick Nybegynder
17. maj 2006 - 16:14 #14
MySQL 4.0.25

Hørte dig lige tale on collation, et sted står der: collation_connetion=utf8_general..
Avatar billede abruscato Nybegynder
17. maj 2006 - 16:15 #15
- I øvrigt har jeg aldrig haft dette problem ved GET, kun ved POST-requests.
Avatar billede cronick Nybegynder
17. maj 2006 - 16:15 #16
Okay.. Mærkeligt.. :/
Avatar billede abruscato Nybegynder
17. maj 2006 - 16:16 #17
...Vi prøver lige igen: "- I øvrigt har jeg aldrig haft dette problem ved POST, kun ved GET-requests.
Avatar billede cronick Nybegynder
17. maj 2006 - 16:18 #18
Okay, det er jo også det vigtigste lige nu, tror jeg.. Men hvad gjorde du så for at få det til at virke?
Avatar billede sw_red_6 Nybegynder
17. maj 2006 - 16:20 #19
Den lidt indviklede udgave er vel at udskifte æøå med html_encode tegn (kender dem ikke lige, men det er vidst noget med &oering; eller sådan noget...)
Avatar billede cronick Nybegynder
17. maj 2006 - 16:24 #20
Okay, det vil jeg virkelig ikke til.. Der må vel være en måde at rette det på.. Kan det ikke være tabellen i mysql der er oprettet uden noget, og så skal man have noget language_latin noget med, så jeg noget om? :/
Avatar billede abruscato Nybegynder
17. maj 2006 - 16:25 #21
Det er slet ikke indviklet at skifte æøå ud med HTML-tags i PHP.

$text = "æsel øre åse";
echo htmlentities($text); // Voila! Teksten er nu "&aelig;sel &oslash;re &aring;se".
Avatar billede cronick Nybegynder
17. maj 2006 - 16:28 #22
>Og hvordan hjælper det mig? Det jeg henter fra databasen, skal være med æ, ø og å? :/
Avatar billede abruscato Nybegynder
17. maj 2006 - 16:31 #23
"&aelig;sel &oslash;re &aring;se" vises i en browser som "æsel øre åse". Den er du med på, ikke?
Avatar billede cronick Nybegynder
17. maj 2006 - 16:32 #24
Jo, men når den server jeg havde før, gjorde det helt normalt, må der vel være en måde at gøre det på den her ogs´å? :/
Avatar billede sw_red_6 Nybegynder
17. maj 2006 - 16:37 #25
Det kan evt. have noget med mysql's charset at gøre. Er der nogen problemer på andre sider på det webhotel du bruger?
Avatar billede cronick Nybegynder
17. maj 2006 - 16:38 #26
Du mener andre sider der bliver hostet af dette host? Han sagde mange andre havde haft samme problem.
Avatar billede cronick Nybegynder
17. maj 2006 - 16:40 #27
Kan se, at på denne server står der det med collation_connection=uft8, men det gør der ikke på min gamle. Der står ikke noget med collation..
Avatar billede abruscato Nybegynder
17. maj 2006 - 16:42 #28
Hvis du bruger GET: Prøv lige at sende din tekst gennem en urldecode(), inden du gemmer den i db'en.
Avatar billede sw_red_6 Nybegynder
17. maj 2006 - 16:43 #29
Så er det højst sandsynlig "forkert" opsætning på mysql-serveren. Der skal sættes det rigtige char-set på ellers vil der være det problem. Om det kan laves specifikt til hver database ved jeg ikke lige, det er der måske en ekspert der kan oplyse os om ;o)
Avatar billede cronick Nybegynder
17. maj 2006 - 16:45 #30
Ja måske.. (: Prøver lige det der urldecode();
Avatar billede cronick Nybegynder
17. maj 2006 - 16:46 #31
Det ændrede ikke på noget, når den hentede..
Avatar billede abruscato Nybegynder
17. maj 2006 - 16:47 #32
Avatar billede cronick Nybegynder
17. maj 2006 - 16:48 #33
Hey, når jeg brugte det der urldecode, så lavede den ikke mærkelige tegn når den skulle indsættes i databasen, men normal ø æ og å.. Hvad betyder det?
Avatar billede abruscato Nybegynder
17. maj 2006 - 16:51 #34
At URL's bliver sendt i et bestemt charater-set (Den går igennem hvad der svarer til PHP's urlencode()) og urldecode() ændrer strengen tilbage til hvad den var, inden den blev sendt afsted som URL.
Avatar billede cronick Nybegynder
17. maj 2006 - 16:53 #35
Okay.. Nu (uden den der urldecode) laver den ikke mærkelige tegn på netop den side jeg gjorde det på. Kan det skyldes, at den så ændre noget?
Avatar billede abruscato Nybegynder
17. maj 2006 - 16:54 #36
Det kan jeg ikke forestille mig - men test det lige med nogle andre strenge.
Avatar billede cronick Nybegynder
17. maj 2006 - 17:00 #37
Har prøvet. Nu laver skriver den åbenbart æ ø og å når den indsætter i databasen. Men den henter jo godt nok stadig forkert.. :/
Avatar billede abruscato Nybegynder
17. maj 2006 - 17:02 #38
Også de poster den indsætter korrekt? Eller bare de poster der var der før du begyndte på urldecode()?
Avatar billede cronick Nybegynder
17. maj 2006 - 17:05 #39
Alt indsættes rigtigt nu. Og nu kommer det mærkelige. Alt der var normalt i databasen, ser nu ud som det gør på siden, med alle de mærkelige tegn. Prøvede lige at ændre en af dem med tegn, og når den så vises på siden, henter den rigtigt. Kan det være fordi jeg har ændret min "Language" fra "Danish-utf-8" til "da-iso-8859-1"?
Avatar billede abruscato Nybegynder
17. maj 2006 - 17:07 #40
Language? Hvor? I databasen? Browseren? Websitet?
Avatar billede cronick Nybegynder
17. maj 2006 - 17:08 #41
I phpmyadmin.. Der er sådan en "Language".. :)
Avatar billede cronick Nybegynder
17. maj 2006 - 17:09 #42
Og tjekkede nemlig lige min gamle phpmyadmin fra den gamle server, og der stod den på det med da.iso.. jeg nu har ændret den til, og det virker.. Prøver lige at tømme tabellen, og importere det hele igen, og ser hvad den siger det til..
Avatar billede sw_red_6 Nybegynder
22. maj 2006 - 00:36 #43
Løste det dit problem?
Avatar billede cronick Nybegynder
22. maj 2006 - 16:49 #44
Jaeh..
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