2012-07-17 73 views
0

如何在php中消除像 这样的奇怪字符串?我怎样才能去掉像在PHP中的字符串?

我已经使用像html_entity_decode php函数,但它仍然不起作用。

任何人都可以提供帮助吗?

+2

这是一个编码问题。你是否有一个与你的服务器发送的一致的 2012-07-17 03:56:56

+0

这通常是由混合字符编码引起的。确保页面的字符编码与服务器相同。 – wyqydsyq 2012-07-17 03:57:16

+0

@PhpMyCoder是的,我已经使用<元字符集,但仍然不工作... – 2012-07-17 03:58:33

回答

4

尝试将这些行添加到您的db配置文件中。

$con = mysql_connect("localhost","root",""); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_set_charset('utf8',$con); 
mysql_select_db("db_name", $con); 


<meta http-equiv="Content-Type" content="text/html; charset=utf8" /> 
+0

这使我的一天... – 2012-07-17 06:28:48

+0

你可能想考虑升级到PDO - 旧式的SQL函数是非常不安全的。绑定语句不仅更快,更高效,而且它们透明地隔离输入,因此您不必担心注入攻击。 Little Bobby'Drop Tables'喜欢用旧式SQL命令玩游戏。 – RonLugge 2012-07-17 20:08:31

1

不只是一个符号 - 它是用来代替您的浏览器无法理解的符号的符号。通常这是由编码问题引起的 - 您设置了错误的编码,或者某人正在使用来自不同编码的符号。

你不能只是魔术般地去掉它,因为它不只是一个字符。简而言之,编码是一个你不能只挥动魔杖的地方 - 你必须决定编码,然后执行它。

如果你正在接受用户输入,我真的没有任何线索如何帮助解决这个问题。您可以检查常见原因(卷曲的引号和破折号与连字符不同,是我遇到的最多的地方),并强制手动替换它们,但如果用户想输入严重编码的字符,不是你可以做的很多。

+0

+1,因为你提到“你必须决定编码,然后执行它。”你对此绝对正确。 – JRSofty 2012-07-17 06:28:32

0

试着改变你的<meta charset为ISO-8859-1像

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
0

如果你的内容是ANSI编码使用

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

您可以检查使用如编辑文件的编码( NOTEPAD ++)

相关问题