Hallo.

Ik heb op een site output van een € teken.
Lokaal is de site prima, maar online is de euro teken niet goed.


<?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 


Maar ik zie: �

wat kan ik hier aan doen?
Daar ben ik het ook mee eens.
@eddy ik heb volgens mij nog nooit gezien dat iemand in een normale zin zegt. ( in een blog )

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 :)
Ah, juist, jullie hebben querty-klavieren.
In België stelt dit probleem zich dus niet.

wel grappig ...
Ik heb geen Mac, dus weet ik niet. Maar voor Windows weet ik het dus wel.
Zelf gebruik ik altijd wel €-teken i.p.v. euro, maar ik probeer dan ook qua spelling correct te zijn.
De input moet verschillende dingen worden, dus dat is niet altijd een euro teken.

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

[size=xsmall]Toevoeging op 19/05/2012 16:10:01:[/size]

in Westers (ISO-8859-1) doet de euro teken het wel goed, maar in Unicode(UTF-8) niet...
Probeer dit eens. Bij mij doet dit precies wat ik verwacht, ook met het €-teken


<?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>

Reageren