Avatar billede sqwer Nybegynder
10. august 2001 - 20:33 Der er 5 kommentarer og
1 løsning

MySQL og Unicode

Disse to kan så vidt jeg ved ikke umiddelbart kombineres, men jeg skal altså bruge det!
Jeg havde tænkt på at skrive unicode-koden (&#...) for bogstaverne i databasen, hvilket burde gå så længe det hele læses fra en webside. Det lader til at fungere, men først ville jeg gerne lige høre nogle meninger fra nogen, der er lidt mere inde i MySQL end jeg selv er :).
Lyder det OK, eller vil det af en eller anden grund være en dårlig ide?
Avatar billede sqwer Nybegynder
12. august 2001 - 17:56 #1
Nu skuffer i mig altså, folkens.
Jeg troede altid man kunne få svar her :).
Kom nu...
Avatar billede alvion Nybegynder
13. august 2001 - 11:23 #2
Jaja, har haft tømmermænd, ok? ;-)

Så vidt jeg kan læse, mener du ikke Unicode men html-entities. Unicode er den nye standard for tegntabeller, hvor man bruger 2 bytes pr. tegn stedet for kun 1 (også kaldet \"wide-character code\"). Html-entities er f.eks. æ for et \"æ\" o.l.

Det kan både være en god og en dårlig ide at gemme disse i databasen. Du skal gøre op med dig selv, om de tekster du lagrer i databasen måske senere skal bruges til andre medier end browseren - f.eks. e-mail. I en e-mail med plain-tekst vil det jo ikke se pænt ud med html-entities. Der skal du måske istedet konvertere dine specialtegn til BASE-64 eller uuencoding.

Så svaret er: ost. Der findes ikke nogen entydig løsning på denne problematik. Spørger du mig, siger jeg: Gem dine tegn på \"almindelig\" vis og konverter dem på præsentations tidspunktet. Det gør jeg.
Avatar billede sqwer Nybegynder
13. august 2001 - 20:31 #3
Hurra, et svar! :-)
Men prøv lige igen, jeg har vist ikke udtrykt mig klart nok.
Jeg skal bruge både græsk, russisk og forskellige østeuropæiske alfabeter, så der er vist ikke nogen \"almindelig vis\" at gøre det på.
Det jeg havde i tankerne var noget i retning af α o.l.
Avatar billede alvion Nybegynder
13. august 2001 - 21:00 #4
Som sagt skal du analysere dine data og din brug af dem.

Hvis du skal bruge alle disse alfabeter vil jeg helt klart anbefale, at du gemmer vha. html-entities, altså α o.l.

Hvis du senere skal bruge data til ikke-html præsentation, skal du blot sørge for at konvertere alle disse specialtegn når du udtrækker data fra din database.
Avatar billede sqwer Nybegynder
13. august 2001 - 21:58 #5
Tak for svaret.
Jeg er bare ikke så godt inde i MySQL, så jeg ville gerne være sikker på at der ikke var en eller anden god grund til absolut IKKE at gøre det på den måde.
Avatar billede alvion Nybegynder
13. august 2001 - 22:16 #6
Den eneste gode grund er, at html-entities fylder mere (6 bytes pr. specialtegn du har i teksten)
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