将字符 ā 替换为它的 html 实体 ā


Replace character ā with it's html entity ā

我很难尝试用它的实体等效物替换某个字符。我试图str_replace字符"ā",但它不起作用!我不明白为什么。我使用的代码:

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

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

更新:

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

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

作为快速修复,我想在插入该数据库之前将字符转换为其实体。

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

更新:尝试每次连接到数据库:

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

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