我正在努力用它的实体等效替换某个角色。我试图str_replace字符“ā”但它不会工作!我不明白为什么。我使用的代码:
$content = str_replace('ā', 'ā',$content);
如果有人有一些提示或者甚至可能解释为什么它不起作用,请告诉我!
更新:
虽然上面的代码没有用实体替换字符(不明白为什么),但这不是主要问题。该字符显示正常,但是当我使用file_get_contents读取此页面并在此之后将读取的HTML插入数据库时,该字符会被破坏。它已经在插入它的数据库中被破坏了。
下面建议的所有标题都是UTF-8,数据库表格有UTF-8编码,文件是UTF-8 ......
作为一个快速修复,我想在插入该数据库之前将char转换为它的实体。
答案 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转换所有字符。但是,它也会将<
之类的内容转换为<
。