简体   繁体   中英

PHP Display Special Characters

When i output the text £3.99 per M² from an xml file,browser displays it as £3.99 per M² .XML file is in UTF-8 format.I wonder how to fix this.

Make sure you're outputting UTF-8. That conversion sounds like your source is UTF-8, yet you're telling the browser to expect something else (Latin1?). You should send a header indicating to the browser UTF-8 is coming up, and you should have the correct meta header:

 <?php
 header ('Content-type: text/html; charset=utf-8');
 ?>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 </head>
 <body>
 <?php echo "£3.99 per M²"; ?>
 </body>
 </html>

This should work correctly.

You should encode html entities:

you could try

htmlentities($str, ENT_QUOTES, "UTF-8");

Look here for a complete reference

If you still have problems sometimes you also have to decode the string with utf8_decode() so you can try:

$str = utf8_decode($str);
$str = htmlentities($str, ENT_QUOTES);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM