probleem met umlaut
Op onze Duitse server werkt het niet. Ik krijg dan onzin tekens. In het invoer veld staat het goed. Na het opslaan staat er onzin in de database.
Het lijkt dus op een instelling in mysql. Heeft iemand tips?
1) zet de collatie en character set van je database goed (dit moet je op table niveau regelen, of desnoods zelfs op kolomniveau).
SQL update query om je tabel goed te zetten:
(ps ik gebruik hier utf8_unicode_ci, dat is mijn standaard, een andere kan voor jou beter zijn, check de mysql manual)
2) Elke keer dat je connectie maakt met je database moet je die connectie ook de juiste collatie en character set meegeven. Na het maken van je connectie kan je deze query daarvoor gebruiken:
(in sommige adapters kan je via een ingebouwde functie doe, check de manual)
3) Zorg dat je de juiste header verstuurt naar de browser:
4) Optioneel, plaats ook een charset in je meta tags van je pagina. Dit zou niet meer hoeven als je de juiste header verstuurt, maar voor de volledigheid:
Bij stap 1 ga ik ervanuit dat je al een bestaande database goed wilt zetten. Beter is het om je database zo in te stellen dat je bij het aanmaken van de tabellen alles al direct juist zet. Nu, bij het converteren, kan het voorkomen dat al bestaande karakters niet goed geconverteerd worden. Daar kan ik helaas niets aan doen (misschien heeft iemand anders tips). Je zal dus wel je data moeten controleren en een backup is ook geen slecht idee...
En als laatste opmerking, kijk niet rechtstreeks in je database of de karakters daar goed overkomen. Over het algemeen krijg je via phpmyadmin of de command line interface niet te zien wat er echt in de database staat, maar een 'vertaling' van de bits. Dat je daar dus eventueel hele rare tekens ziet zegt niets.
Gewijzigd op 04/03/2013 17:18:33 door Erwin H