繁体   English   中英

是否有PHP函数将数据库中的重音字母转换为html代码?

[英]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('/\à/','&#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;

}

使用以下代码

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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