有一个MySQL
数据库包含带有accentuated
字母的数据,如é
. 我想在我的PHP
页面中显示它,但问题是由于accent
. 那么有没有function
把重音转换成HTML代码,比如é
转换成é
!
问问题
216 次
4 回答
4
而不是使用htmlentities
你应该在你的文件中使用 unicode 字符集,例如
<?php
header('Content-Type: text/html; charset="utf-8"');
为了安全起见,您可以将以下元标记添加到您的 html 文件中:
<html>
<head>
<meta charset="utf-8" />
然后,确保您的数据库连接使用 utf8:
mysql_connect(...);
mysql_select_database(...);
mysql_set_charset('utf-8');
然后,所有浏览器都应该正确显示特殊字符。
优点是您可以轻松地在 php 文件中的任何地方使用 unicode 字符 - 例如版权符号 (©) 或破折号 (–) - 假设您的 php 文件也以 utf-8 编码。
于 2012-05-04T12:49:49.657 回答
2
于 2012-05-04T12:47:01.183 回答
0
你可以很容易地用 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;
}
于 2012-05-04T12:51:28.353 回答
0
使用以下代码
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
并且在插入数据库之前不要通过 utf8_encode() 函数对您的数据进行编码希望这会解决您的问题:)
于 2012-05-04T12:52:16.043 回答