将字符ā替换为html实体ā

时间:2012-05-08 14:48:07

标签: php utf-8 character-encoding

我正在努力用它的实体等效替换某个角色。我试图str_replace字符“ā”但它不会工作!我不明白为什么。我使用的代码:

$content = str_replace('ā', 'ā',$content);

如果有人有一些提示或者甚至可能解释为什么它不起作用,请告诉我!

更新:

虽然上面的代码没有用实体替换字符(不明白为什么),但这不是主要问题。该字符显示正常,但是当我使用file_get_contents读取此页面并在此之后将读取的HTML插入数据库时​​,该字符会被破坏。它已经在插入它的数据库中被破坏了。

下面建议的所有标题都是UTF-8,数据库表格有UTF-8编码,文件是UTF-8 ......

作为一个快速修复,我想在插入该数据库之前将char转换为它的实体。

2 个答案:

答案 0 :(得分:1)

试试这个:header('Content-Type: text/html; charset=utf-8'); 这将使您的页面按UTF8显示所有合法字符,并在<?php

之后立即将此代码放在您的页面上

<强>更新 尝试与DB的每个连接:

    $connect = YOUR_MYSQL_CONNECTION();

    mysql_query( "SET NAMES 'utf8';" , $connect );

    mysql_query( "SET CHARACTER SET 'utf8';" , $connect );

答案 1 :(得分:1)

包含ā的较大字符串是否易于访问?如果是这样,htmlentities函数应该完成这项工作。它应该使用等效于等效的HTML转换所有字符。但是,它也会将<之类的内容转换为&lt;