[英]Is there a PHP function converting accentuated letters in database into html code?
有一个MySQL
数据库,其中包含带有accentuated
字母(如é
。 我想在我的PHP
页面中显示它,但是问题是由于accent
显示了无法识别的字符。 因此,有一个将重音符号转换为HTML代码的function
,例如é
被转换为é
!
而不是使用htmlentities
您应该在文件中使用unicode字符集,例如
<?php
header('Content-Type: text/html; charset="utf-8"');
为了安全起见,您可以将以下meta标签添加到html文件中:
<html>
<head>
<meta charset="utf-8" />
然后,确保您的数据库连接使用utf8:
mysql_connect(...);
mysql_select_database(...);
mysql_set_charset('utf-8');
然后,所有浏览器都应正确显示特殊字符。
优点是,假设您的php文件也以utf-8编码,那么您可以轻松地在php文件中的任何地方使用Unicode字符-例如版权符号(©)或破折号(–)-。
您可以使用str_replace轻松地自己做一个:
function txtFormat($input){
$output = str_replace('/\à/','É',$input);
$output = str_replace('/\è/','è',$output);
$output = str_replace('/\é/','é',$output);
$output = str_replace('/\ì/','ì',$output);
$output = str_replace('/\ò/','ò',$output);
$output = str_replace('/\ù/','ù',$output);
return $output;
}
使用以下代码
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
并且在插入数据库之前不要通过utf8_encode()函数对数据进行编码,希望这可以解决您的问题:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.