karakter sets in database
15 augustus 2007 - 11:41   
geplaatst door: brbbl
Hoi allen,

Ik zit met het volgende probleem.
Ik ben een Googlemaps website aan het bouwen, maar daarin de mogelijkheid om zelf punten aan te geven in de kaart en deze op te slaan op de server, inclusief extra informatie over dit punt. Deze informatie kun je aangeven in een formulier in het ballontje dat verschijnt.

Zodra ik een teken met een accent invoer zoals de é, wordt deze in de MySQL (4.1) database opgeslagen als: é Dit wordt vervolgens in de browser zelf weer als; é getoond.

Als ik handmatig in de database deze tekens omzet naar é verschijnt er in de browser (Firefox in dit geval) een ?

Ik heb bij alle PHP/XML (PHP versie = 4.4.7) pagina's de volgende code ingevoerd:

header('Content-Type: text/xml; charset=UTF-8');
of header('Content-Type: text/html; charset=UTF-8');

Zowel de MySQL server, als de database én de afzonderlijke velden staan ingesteld op: utf8_unicode_ci

Als ik in de browser kijk bij "View -> Character encoding", dan staat deze op UTF-8. Precies zoals het hoort. Hetzelfde geldt voor "Tools -> Info -> General".

Ergens zit nog een conversie naar ISO  geloof ik (weet niet precies welke), maar waar?

Ik had al wat gevonden op macfreak uit 2003: letters met accenten & php & database maar kwam daarmee niet verder.

hier is de site waaraan ik werk

Ik zit erover na te denken om de boel om te gooien naar ISO 8859-1, net als Macfreak, is dat een oplossing? Ik heb namelijk weinig mogelijkheden om aanpassingen te doen op de server voor wat betreft htaccess of updaten van de MySQL.

Bedankt alvast voor enig licht in deze duisternis

En kan iemand mij vertellen waarom in dit geval de overflow op de rechter layer niet werkt?  :blink:  = vanwege het feit dat ik de hoogte van de layer niet had gespecificeerd. :happy:

(Bewerkt door brbbl om 13:05, 15-08-2007)

(Bewerkt door brbbl om 13:07, 15-08-2007)

Als ik naar MTV Cribs kijk, boeien illegale downloads mij opeens een stuk minder.
karakter sets in database
21 augustus 2007 - 01:49    reactie #1
geplaatst door: Kaydie
Stuur elke keer nadat je verbinding hebt gemaakt met de mySQL database het comando SET NAMES 'utf-8' naar de Database…

(dus onder de  mysql_connect(); functie in je php script toevoegen:

mysql_query("SET NAMES 'utf-8'");

Zie ook: http://dev.mysql.com/doc/refman/4.1/en/charset-connection.html#c7973

"…It sure is great to get out of that bag!" -- mac, 1984
--
kaydies
karakter sets in database
21 augustus 2007 - 16:12    reactie #2
geplaatst door: brbbl
Bedankt Kaydie,

Ik zal de gegeven link even flink doornemen, en laat je weten wat eruit is gekomen.

Als ik naar MTV Cribs kijk, boeien illegale downloads mij opeens een stuk minder.