是否有PHP函数将数据库中突出显示的字母转换为html代码?

时间:2012-05-04 12:44:57

标签: php

有一个MySQL数据库,其中包含accentuatedé字母的数据。我想在PHP页面中显示它,但问题是由于accent而显示无法识别的字符。是否有function将重音转换为HTML代码,例如é转换为é

4 个答案:

答案 0 :(得分:4)

您应该在文件中使用unicode字符集,而不是使用htmlentities,例如

<?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编码的。

答案 1 :(得分:2)

答案 2 :(得分:0)

你可以用str_replace自己轻松制作一个:

function txtFormat($input){

    $output = str_replace('/\à/','&#201;',$input);
    $output = str_replace('/\è/','&#232;',$output);
    $output = str_replace('/\é/','&#233;',$output);
    $output = str_replace('/\ì/','&#236;',$output);
    $output = str_replace('/\ò/','&#242;',$output);
    $output = str_replace('/\ù/','&#249;',$output);

    return $output;

}

答案 3 :(得分:0)

使用以下代码

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

在插入数据库之前,不要通过utf8_encode()函数对数据进行编码 希望这能解决你的问题:)