Al sinds een lange tijd ontwerp ik relationele databases voor de applicaties en websites die ik programmeer, echter heb ik nog niet helemaal het idee dat ik alle krachten van de database (MySQL) gebruik. Vooral eigenlijk wat betreft de karakter sets ben ik de draad een beetje kwijt aan het raken.
Sinds jaar en dag worden de tabellen en velden die ik maak voorzien van de latin1 charset (volgens mij de default instelling), hier heb ik nooit problemen mee gehad, maar sinds kort beginnen er steeds meer foutjes door de charsets te komen.
Zo wordt data uit deze tabellen op een website met een UTF-8 charset niet goed getoond, door dit te veranderen in ISO-nogiets los ik dan wel het weergave probleem op, maar als ik de data uit de database weer in FPDF plaats en de PDF wil aanmaken, komen weer dezelfde tekens als op de webpagina met UTF-8 terecht.
Ligt dat probleem nu bij een database die niet helemaal voldoet voor alle tekens die tegenwoordig gebruikt wordt (en moet ik dus de charset in de database gaan aanpassen) of zit dat dan toch ergens anders?
Heel toevallig dat ik een boek las waarin werd aangeraden om overal UTF-8 te gebruiken, maar gezien bovenstaande ervaring twijfel ik nu weer of dat wel een goede tip was?
- Database ontwerp mbt charsets
-
28-01-2011, 18:44 #1
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Database ontwerp mbt charsets
-
-
28-01-2011, 19:16 #2
- Berichten
- 162
- Lid sinds
- 15 Jaar
Re: Database ontwerp mbt charsets
Je db standaard instellen op UTF-8 het gerbruik hier van is handig ALS je buitenlandse contacten onderhouden of daar iets gaat insteken dat alleen met UTF te maken heeft.
Als je een soep met een vork een gaat moeilijk.
Latin en UTF zijn ook niet het zelfde :)
Beste is je db in te stellen om UTF 8/16/32
Ga je properen resulaten bereiken.
Dat is mijn mijn toch alvast
-
31-01-2011, 11:22 #3
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: Database ontwerp mbt charsets
Is er niemand hier die antwoord kan geven op wat de beste keuze is mbt de charset voor een database ontwerp en met welke andere dingen je rekening moet houden om op je website vervolgens geen verschillen te zien?
Ik noem:
- database charset
- html template charset (meta content-type tag)
- eventueel een charset in je WYSIWYG editor (als dit mogelijk is?!)
En dan nog:
Welke charset dekt het grootste gedeelte van alle karakters?!
Of ik Google verkeerd of er is gewoon heel weinig over te vinden..
-
31-01-2011, 16:16 #4
- Berichten
- 376
- Lid sinds
- 18 Jaar
Re: Database ontwerp mbt charsets
Zolang PHP nog geen goede ondersteuning heeft voor UTF-8 (PHP6?) zou ik gewoon voor Latin1 gaan. Latin1 omvat vrijwel alle gebruikte karakters in West Europa. Waar je wel voor moet zorgen is wanneer je bijv. een XML feed in UTF-8 aangeleverd krijgt, die je eerst omzet naar Latin1 en dan pas in je database opslaat. Daarna hoef je er niets meer (qua encoding) mee te doen. Die error in je PDF heeft dan ook een andere oorzaak.
-
01-02-2011, 00:50 #5
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: Database ontwerp mbt charsets
Dat werd me inderdaad ook gemeld op PFZ, bedankt voor het bericht!
De error in de PDF is overigens opgelost door utf8_decode over de string te halen.
-
01-02-2011, 07:22 #6
- Berichten
- 289
- Lid sinds
- 16 Jaar
Re: Database ontwerp mbt charsets
Ik gebruik utf8_unicode_ci als 'Collation' en als ik een connectie maar met in dit geval PDO, zorg ik ervoor dat ik ook de 'Connection Collation' ook UTF8 is. Ook moet je je er altijd voor zorgen dat, als je data insert dat het wel data is wat UTF8 is.
-
01-02-2011, 08:13 #7
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: Database ontwerp mbt charsets
Blijft lastig aangezien iedereen wat anders zegt haha.. iso-8859-15 werd me ook aangeraden icm de latin1_general_ci collatie.
-
01-02-2011, 08:29 #8
- Berichten
- 289
- Lid sinds
- 16 Jaar
Re: Database ontwerp mbt charsets
Ik had juist meer problemen met 'latin1' dan 'utf8'. En nu werk ik nogal veel met productfeeds die allemaal 'utf8' zijn, dus ik hoef geen moeite te doen om het eerst naar een andere charset te encoden en andere rare fratsen uit te halen om de data in een 'latin1' charset te dumpen.
-
01-02-2011, 12:57 #9
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: Database ontwerp mbt charsets
Dat valt toch wel mee, zover ik gemerkt heb met utf8 data werkt utf8_decode() perfect om het goed te krijgen voor latin1. Ik zal het topic naar PFZ even plaatsen hier en van het topic op TBF, kunnen jullie ook even de comments daar lezen:
http://www.pfz.nl/forum/topic/2549-c...-werkt-het-nu/
http://www.tbforum.com/thread/155929.html
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic