1

有一个MySQL数据库包含带有accentuated字母的数据,如é. 我想在我的PHP页面中显示它,但问题是由于accent. 那么有没有function把重音转换成HTML代码,比如é转换成é

4

4 回答 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

尝试htmlspecialchars()和/或htmlentities()

于 2012-05-04T12:47:01.183 回答
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;

}
于 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 回答