Avatar billede tlunde Nybegynder
26. oktober 2005 - 14:50 Der er 13 kommentarer og
2 løsninger

Gemme æ og ø og å i databasen?

Hejsa,
Jeg sidder og er ved at skrive nogle hoved- og underkategorier ind  min MySQL database, men har et problem med at skrive. Jeg skriver dem rent ind i notepad, og bruger følgende kode for æ, ø og å:

æ = æ
ø = ø
å = å
Æ = Æ
Ø = Ø
Å = Å

Jeg kan godt gemme det på denne måde, og så se at det er de rigtige bogstaver der kommer frem, men jeg kan ik sammenligne på det når jeg skal hive data ud igen, er der noget jeg gør forkert?
Avatar billede fsconsult.dk Nybegynder
26. oktober 2005 - 14:55 #1
du bør ikke gemme ÆØÅ i databasen som html koder, men foretage den omsætning når du viser dem i html, ellers vil du få svært ved at bruge databasen til andet ..
Avatar billede tlunde Nybegynder
26. oktober 2005 - 14:59 #2
okay, hvordan skal jeg så gøre det?
Hvis jeg skriver dem ind i notesblok, hvordan skal jeg så gemme æøå? Bare direkte som æøå eller i et andet format?
Avatar billede fsconsult.dk Nybegynder
26. oktober 2005 - 15:49 #3
nu ved jeg ikke hvordan du får det fra notepad til mysql, men ja ... du bør bare skrive det som æøå i notepad da mysql normalt ikke har problemer med at gemme danske (unicode/utf-8) tegn ..
Avatar billede kilroydk Nybegynder
28. oktober 2005 - 09:15 #4
Mon ikke du lige skulle tjekke din mysql database og se hvordan den er sat op ??

De mysql kommandoer jeg har arbejdet med, har uden problemer lagret alle tegn, dog afhængigt af opsætningen. Det er virker mig noget besværligt ;-)
Avatar billede fsconsult.dk Nybegynder
28. oktober 2005 - 09:21 #5
har heller ik haft problemer med æøå i mysql ...  har højst skulle insistere på at der blev brugt UTF-8 i JDBC forbindelsen, men så kørte det også ...
Avatar billede tlunde Nybegynder
30. oktober 2005 - 09:22 #6
Hej igen,
Har lige været på tur i 3 dage, så har ik lige fået arbejdet videre med det.

Når jeg skriver f.eks. "Dødsfald" direkte ind i MySQL fra dens form, så når jeg hiver det ud, skriver den "D?ld", men hvis jeg skriver "Dødsfald" ind via formen, så printer den godt nok "Dødsfald" ud som den skal, men jeg kan ikke søge på det via min form?

Se f.eks. her: http://www.selvhjaelp.dk/for_organisationer/annoncer/opret_annonce_del1.php

Når jeg vælger "Pårørendegrupper", så skulle den gerne printe "Fysiske sygdomme" ud, men det gør den ik. I databasen står der direkte "Pårørendegrupper", og det skulle gerne være kædet sammen med koden i min selectbox, som ser sådan her ud:

<option value='opret_annonce_del1.php?id=Pårørendegrupper' <? if($hovedkategori=="Pårørendegrupper") { echo "selected"; } ?>>Pårørendegrupper</option>";

Kan i se hvad der skulle være galt??
Avatar billede fsconsult.dk Nybegynder
30. oktober 2005 - 09:36 #7
"direkte ind i MySQL fra dens form" ?

Det eneste sted man skriver noget direkte ind i MySQL er vist med commandline interface eller lign.

MySQL har ingen problemer med at gemme ÆØÅ, men det lyder som om du skulle flytte spørgsmålet til PHP kategorien.

Du skal formente bruge HTML escape værdier til links og egentlig HTML kode, men ikke i  dine php statements.
Avatar billede tlunde Nybegynder
30. oktober 2005 - 09:39 #8
Syntes bare ikke at det skulle være så svært at gemme æøå i databasen, og kan egentlig ik lige se hvor jeg skulle lave fejl...
Avatar billede Slettet bruger
30. oktober 2005 - 12:22 #9
En MySQL-server i standard opsætning kører med latin1 karaktersæt og svensk sortering. Jeg kan se din side er gemt i UTF8, og det kan meget vel være det, der giver problemer med spørgsmålstegnene. Prøv enten at gemme dine sider i ANSI eller skift databasens karaktersæt til UTF8 (du kan eventuelt også sætte dansk sortering på nu da du er i gang). Bemærk at det kun er MySQL 4.1 og nyere, der understøtter UTF8. Hvis du skifter databasens karaktersæt til UTF8, skal du formodentlig ligge dine data ind på ny, da de sikkert er gemt i latin1. Du kan læse mere og karaktersæt og sortering i kapitel 10 i MySQL manualen.

Til at konvertere frem og tilbage mellem HTML-koder kan du bruge PHP-funktionerne htmlentities() og html_entity_decode().
Avatar billede tlunde Nybegynder
30. oktober 2005 - 14:02 #10
Hvordan kan jeg se hvad min database er sat til?
Avatar billede Slettet bruger
30. oktober 2005 - 15:42 #11
Det er jeg faktisk ikke sikker på, men hvis du ikke selv har sat noget er jeg 99% sikker på at den står til latin1 med svensk sortering. Du kan jo prøve at sætte karaktersæt og sortering selv med ALTER DATABASE. Der står hvordan du gør i kapitel 10 i MySQL manualen.
Avatar billede tlunde Nybegynder
01. november 2005 - 09:23 #12
Har ændret mit standard karaktersæt til "iso-8859-1" i toppen af mit dokument, og det ser ud til at det har løst problemet...

Men jeg takker for den hjælp jeg har fået, smider i lige nogle svar for jeres hjælp?
Avatar billede fsconsult.dk Nybegynder
01. november 2005 - 09:28 #13
ok
Avatar billede tlunde Nybegynder
02. november 2005 - 09:28 #14
Flere svar? blinklys?
Avatar billede Slettet bruger
02. november 2005 - 13:09 #15
ok
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