Mysql weergave van "ü"

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Alex

Alex

23/05/2008 19:31:00
Quote Anchor link
Hallo allemaal,

heb volgend insert commando in m'n sql script,

INSERT INTO vlieghavens VALUES ("Düsseldorf", "DUS")

Na uitvoer van een query, toont de browser echter "Dsseldorf" als resultaat?
Soms voegt dat ding zelfs een hartje in ipv "ü".

Waaraan kan dit liggen???
Grtjs
Alex
 
PHP hulp

PHP hulp

07/01/2025 05:11:00
 
Frank -

Frank -

23/05/2008 19:37:00
Quote Anchor link
Dit soort dingen krijg je wanneer je niet overal de zelfde en de juiste karakter set gebruikt. Met utf8 krijg je vrijwel nooit problemen, gaat bij mij al jaren goed.

Maar wat je ook doet, gebruik overal dezelfde karakterset, dus zowel je html-pagina's, je php-code als je database.
 
Joren de Wit

Joren de Wit

23/05/2008 19:37:00
Quote Anchor link
Zorgen dat de character encoding van je database overeenkomt met die van je webpagina's. Gebruik voor alles UTF8, dat is een zeer brede charset die heel veel tekens ondersteund. Ik heb er tot nu toe nog geen problemen mee gehad.
 
Paul K

Paul K

23/05/2008 19:46:00
Quote Anchor link
gebruik anders evt ü
 
Alex

Alex

23/05/2008 19:46:00
Quote Anchor link
Ja ok, maar hoe doe ik dat voor de database?
In Mysql moet ik dan waarschijnlijk iets aanpassen ofzo?
 

23/05/2008 19:49:00
Quote Anchor link
Alex schreef op 23.05.2008 19:46:
Ja ok, maar hoe doe ik dat voor de database?
In Mysql moet ik dan waarschijnlijk iets aanpassen ofzo?


Je kan bij het wegschrijven naar de database alle speciale karakters vervangen door de betreffende html code dmv een replace.
 
Frank -

Frank -

23/05/2008 19:50:00
Quote Anchor link
Paul schreef op 23.05.2008 19:46:
gebruik anders evt ü
En vervolgens kun je er niks meer mee...

Dit is geen oplossing maar een nieuw probleem. Het lijkt me sterk dat iemand daar op zit te wachten.

Edit, @René: Ga geen data naar de bliksem helpen wanneer dat niet nodig is, je maakt alleen maar meer problemen aan. Data sla je ruw op, exact zoals je die hebt ontvangen. Gebruik nooit html-rommel-functies om je data naar de bliksem te helpen, een database is geen browser en heeft dus geen html nodig.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Mr D

Mr D

23/05/2008 19:54:00
Quote Anchor link
als je met utf8 werkt kan je deze query nodig hebben: SET NAMES utf8
 
Alex

Alex

23/05/2008 20:04:00
Quote Anchor link
Dus ik voegde het commando toe in het sql-script als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
DROP DATABASE IF EXISTS airline;
CREATE DATABASE IF NOT EXISTS airline;
USE airline;
SET NAMES utf8;

#----------------------------------
#Genereren eerste tabel vlieghavens.
#----------------------------------


CREATE TABLE Vlieghavens
(
Stad char(20),
Code char(8) PRIMARY KEY
);
INSERT INTO vlieghavens VALUES ("Brussel", "BXL");
INSERT INTO vlieghavens VALUES ("Dsseldorf", "DUS");
INSERT INTO vlieghavens VALUES ("Berlin", "THF");
INSERT INTO vlieghavens VALUES ("Paris", "CDG");
INSERT INTO vlieghavens VALUES ("L.A.(US)", "LAX");


Maar dit geeft dan volgende fout:

ERROR 1406(22001): Data too long for column 'stad' at row 1

En die is toch 20 char lang
???
 
Frank -

Frank -

23/05/2008 20:16:00
Quote Anchor link
Gebruik gewoon een TEXT of VARCHAR(255), je wilt geen constraint op de lengte van de plaatsnaam hebben.

Wel weer een vage foutmelding, maar dat krijg je met een dataramp. Op zich wel goed dat MySQL voor de verandering eens een foutmelding geeft, alleen lullig dat deze kant noch wal raakt... Sterkte!
 
Alex

Alex

23/05/2008 20:25:00
Quote Anchor link
heb varchar (255) geprobeerd, maar zoals ik al verwachtte ....

Dezelfde foutmelding blijft staan.
Erger nog, na dit geprobeerd te hebben krijg ik dezelfde fout nu zelfs zonder
SET NAMES utf8;
Er moet een andere oplossing zijn denk ik..
 
Martijn Wieringa

Martijn Wieringa

23/05/2008 21:15:00
Quote Anchor link
Ik heb een zelfde probleem gehad, toen bleek dat de mysql-server in een 'verkeerde' charset praatte.... *humpf*

probeer eens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

mysql_connect(...);
mysql_select_db(...);
mysql_query("SET CHARACTER SET 'utf8';");

?>


Daarmee stel de charset in waarmee de mysql-server met PHP praat.
 
Alex

Alex

24/05/2008 19:06:00
Quote Anchor link
N'op, Alle settings in de MySql staan op Latin2 (=charset=iso-8859-2)
en in m'n html staat:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

en ondanks dit allemaal geen ü maar een raar vraagteken of hellemaal geen charakter!

Heb het eigenlijk een beetje opgegeven en de Ü vervangen door een U.

Jammer....

GRtjs
Alex
 
Jesper Diovo

Jesper Diovo

24/05/2008 21:50:00
Quote Anchor link
Verander de content-type van je html dan ook naar utf8 en de charset van MySQL ook naar utf8. Eeey, problem solved.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.