0

我很难用它的实体等效替换某个字符。我试图用 str_replace 字符“ā”,但它就是行不通!我不明白为什么。我使用的代码:

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

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

更新:

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

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

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

4

2 回答 2

1

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

于 2012-05-11T07:02:42.017 回答
1

试试这个: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 );
于 2012-05-08T14:53:14.357 回答