【发布时间】:2015-07-22 20:03:17
【问题描述】:
我正在尝试用其他字符串替换某些字符 我用这个确切的代码让它在我的主页上工作,但在另一个页面上它不会工作。
在数据库中我得到了这个±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
请帮忙!
【问题讨论】:
-
我认为这是由于您的数据库中的编码。我试过你的脚本,当
$description2 = "±1¢2£¥3§4£" -
您可以使用 phpMyAdmin 或通过此 sql 更改数据库的字符集和排序规则(首先备份): ALTER TABLE yourtable CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
-
能否请您在此处回显此命令。
show variables like 'character%'; -
AljoshaBre
character_set_client utf8 character_set_connection utf8 character_set_database latin1 character_set_filesystem binary character_set_results utf8 character_set_server latin1 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/ -
您可能应该更改您的数据库字符集。
use YOURDB;alter database YOURDB default charset UTF8;
标签: php str-replace