11. august 2014 - 23:07Der er
6 kommentarer og 1 løsning
UTF-8 i filer og database
Hej
Jeg har et par spørgsmål til charset.
Jeg har gemt alle mine filer som UTF-8 without bom
Mit charset i filerne er sat til: <meta charset="utf-8">
Til databasen bruger jeg pt. $dbconnection->exec("set names utf8"); der hvor jeg laver min PDO connection. Jeg bruger version af php som pt. er under 5.3.6 så jeg ikke kan lave det direkte i kaldet/connection. Jeg benytter en MySQL database
Mine spørgsmål er: 1: Hvad skal jeg vælge mht. database - her er jo både utf8_unicode, utf8-general, utf8_ci_bin, utf8-danish_bin osv., og ikke mindst hvorfor?
2: Hvis man vælger en af dem, kan man så slippe for at bruge $dbconnection->exec("set names utf8"); eller skrive det i connection for senere versioner?
3: Er der andet jeg bør gøre anderledes, eller andre ting jeg skal tænke over i forbindelse med charset?
Det er vigtigt for mig at få en begrundelse for valg også så jeg ved hvad forskellene er. Håber en af jer kender en masse om det og kan hjælpe :)
Hvis du har danske data i databasen, så vælg utf8_danish_ci, hvis du kun har engelske, så vælg utf8_general_ci.
Landet har udelukkende noget med sortering at gøre. Ved at vælge Danish-versionen får du æ, ø og å i den rigtige rækkefølge, hvis du vælger SORT BY på et felt med tekst i.
CI betyder case insensitive, og gør at SELECT... WHERE name="bent" vil returnere både "Bent", "bent" og "BENT". Det er den normale opførsel for en database.
1. Ja, tegnsættet er det samme, det er kun sorteringen der er forskel.
2. Det har jeg underligt nok aldrig tænkt over. Jeg testede lige om SET NAMES 'utf8' COLLATE 'utf8_swedish_ci' ændrede det, men det gør det ikke. Så det ved jeg faktisk ikke.
Nej ikke den del endnu, men det må komme. Til at starte med er det vigtigst i dansk og engelsk, og da engelsk ikke har specialtegn, så går det :)
Synes godt om
Ny brugerNybegynder
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.