utf8 €
Ik heb op een site output van een € teken.
Lokaal is de site prima, maar online is de euro teken niet goed.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
header("Content-Type: text/html; charset=UTF-8");
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
De database zelf, Collation: utf8_unicode_ci
Tekstveld met speciale characters, Collation: utf8_unicode_ci
header("Content-Type: text/html; charset=UTF-8");
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
De database zelf, Collation: utf8_unicode_ci
Tekstveld met speciale characters, Collation: utf8_unicode_ci
Maar ik zie: �
wat kan ik hier aan doen?
Plaat van € deze gebruiken: €
ja ik ken de html versie, maar die ga ik de gebruiker niet laten invoeren in de input field
Mitchel V op 19/05/2012 00:49:36:
ja ik ken de html versie, maar die ga ik de gebruiker niet laten invoeren in de input field
Laat de gebruiker € invullen, maar zet hem vervolgens om:
Gewijzigd op 19/05/2012 01:07:56 door P-ter AA
Is dat nog van deze tijd? Een euroteken in laten vullen. Volgens mik weet 95% van de normale gebruikers niet een welke toetsencombinatie te gebruiken.
Reshadd farid op 19/05/2012 07:58:15:
Is dat nog van deze tijd? Een euroteken in laten vullen. Volgens mik weet 95% van de normale gebruikers niet een welke toetsencombinatie te gebruiken.
Staat gewoon op het toetsenbord.
Voor zover ik altijd gezien heb zijn er op grote websotes de euroteken gelabeled dus je hoeft wen bedrag in te vullen en done, euroteken op je toetsenbord is niet altijd indrukken en klaar. Meestal ctrl of alt of fn erbij indrukken maar dat moetje ook maar net weten. En meestal wordt dat gebruikt in een word documentje ofzoo
Ctrl + Alt + 5
Dat weet iedereen Reshadd. Vraag is meer: wanneer gaat men dat gebruiken?
Bij een prijs opgeven natuurlijk niet (dan filter je dat eruit), maar als het in gewone tekst (een blog oid) komt, dan is htmlentities() de oplossing.
Eddy Erkelens op 19/05/2012 09:32:43:
€ toch?
Ctrl + Alt + 5
Ctrl + Alt + 5
Of rechter-Alt 5.
Ik ben het met Reshadd eens. Een gebruiker hoeft geen euro teken in te vullen. Zet een euro teken voor het input field en laat de gebruiker alleen de cijfers invoeren.
Daar ben ik het ook mee eens.
ik heb €100,- betaalt. ze schrijven 99.99% van de tijd 100 euro waarom? op de mac staat er nergens een euro teken op een toetsenbord. dus vertel mij is zonder te googlen welke combinatie ik gebruiken moet. inderdaad dat weet je niet zonder het te googlen en 99% van de internet gebruikers ( meestal computer leeks die net aan kunnen internet bankieren en de krant online lezen ) weten volgens mij niet eens dat ze dit kunnen googlen dus dan bellen ze een of ander helpdesk/buurjongen/kennis. ik heb het heel vaak meegemaakt en zelfs op een normale toetsenbord weten sommige oudere mensen dit niet. ze denken dat als ze dan op de E of de 5 of waar het teken dan ook staat dat als ze daar op drukken de euro teken verschijnt. eerlijk gezegd weet ik zelfs niet waar op mijn imac het euroteken zit of welke combinatie ik gebruiken moet. en ik moet toch zeggen dat ik aardig wat verstand heb van computers :)
In België stelt dit probleem zich dus niet.
wel grappig ...
Gewijzigd op 19/05/2012 15:23:58 door Kris Peeters
Zelf gebruik ik altijd wel €-teken i.p.v. euro, maar ik probeer dan ook qua spelling correct te zijn.
Maar ik vindt dat we een stapje terug moeten doen.
Ik snap niet waarom de karakter sets zo doet, lokaal werkt het prima, maar online niet.
Hoe kan ik dit het beste aanpakken.
Wat ik in de eerste topic heb staat heb ik zowel online als lokaal
Toevoeging op 19/05/2012 16:10:01:
in Westers (ISO-8859-1) doet de euro teken het wel goed, maar in Unicode(UTF-8) niet...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
/*
CREATE TABLE IF NOT EXISTS euro (
id int(11) NOT NULL AUTO_INCREMENT,
message varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
*/
$content = "";
$con = mysql_connect('localhost', 'root', '');
mysql_select_db('phphulp', $con);
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['message'])) {
// insert record
$insertSQL = sprintf(
"INSERT INTO euro (message) VALUES ('%s')"
, mysql_real_escape_string($_POST['message'])
);
mysql_query($insertSQL);
}
// read all records
$readSQL = "SELECT id, message, created FROM euro ORDER BY created DESC";
$res = mysql_query($readSQL);
while($row = mysql_fetch_assoc($res)) {
$content .= '
<li>
<div class="message">' . htmlentities($row['message'], ENT_QUOTES, "UTF-8") . '</div>
<div class="created">' . htmlentities($row['created'], ENT_QUOTES, "UTF-8") . '</div>
</li>';
}
$content = '<ul>' . $content . '</ul>';
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form action="" method="post">
<input name="message" value="<?php echo (isset($_POST['message']) ? htmlentities($_POST['message'], ENT_QUOTES, "UTF-8") : ''); ?>"/>
<input type="submit" value="GO"/>
</form>
<?php echo $content; ?>
</body>
</html>
/*
CREATE TABLE IF NOT EXISTS euro (
id int(11) NOT NULL AUTO_INCREMENT,
message varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
*/
$content = "";
$con = mysql_connect('localhost', 'root', '');
mysql_select_db('phphulp', $con);
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['message'])) {
// insert record
$insertSQL = sprintf(
"INSERT INTO euro (message) VALUES ('%s')"
, mysql_real_escape_string($_POST['message'])
);
mysql_query($insertSQL);
}
// read all records
$readSQL = "SELECT id, message, created FROM euro ORDER BY created DESC";
$res = mysql_query($readSQL);
while($row = mysql_fetch_assoc($res)) {
$content .= '
<li>
<div class="message">' . htmlentities($row['message'], ENT_QUOTES, "UTF-8") . '</div>
<div class="created">' . htmlentities($row['created'], ENT_QUOTES, "UTF-8") . '</div>
</li>';
}
$content = '<ul>' . $content . '</ul>';
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form action="" method="post">
<input name="message" value="<?php echo (isset($_POST['message']) ? htmlentities($_POST['message'], ENT_QUOTES, "UTF-8") : ''); ?>"/>
<input type="submit" value="GO"/>
</form>
<?php echo $content; ?>
</body>
</html>