我正在尝试用其他字符串替换某些字符 我使用这个确切的代码在我的主页上工作,但在另一个页面上它不起作用。
在数据库中,我得到±1¢2£¥3§4£
为description2
在我的PHP中我使用
$description2 = mysql_result($product, 0, 'productDescription2');
if ($description2 !=""){
$searchArray = array('±', '¢', '£', '¥', '§');
$replaceArray = array('x', 'x', 'x', 'x', 'x');
$teknisk = str_replace($searchArray, $replaceArray, $description2);}
作为输出我使用echo ''. $teknisk .'';
但结果是�1�2��3�4�
(与原始description2
相同)
而不是x1x2xx3x4x
请帮忙!
答案 0 :(得分:2)
也许数据库使用与PHP文件不同的编码。首先比较用bin2hex()
函数转换的字符串(在PHP中)。
答案 1 :(得分:0)
第二次尝试:
PHP doc的评论中有很多建议。试试这些:
尝试明确设置网页的图表类型。尝试将其放在标题中:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
或者,如果您使用的是HTML 5:
<meta charset="utf-8">
答案 2 :(得分:-1)
我认为既然你有一些奇怪的字符,它们可能超出了ascii范围,你可能需要使用多字节字符串函数,虽然它没有str_replace模拟,你可能需要使用多字节正则表达式。
答案 3 :(得分:-1)
请看一下,它将告诉您如何在Web应用程序中处理UTF字符