use*_*546 2 php mysql collation
我使用PHP和MySQL制作了一个带有注释的简单新闻系统,它在我的本地Apache服务器上运行得很好,包括我的Fedora 10机器和我的Windows 7机器.现在我遇到了一个问题,我把它上传到了一个网络主机,并且它继续将所有'和'作为\'和\"返回.
我相信这是Web主机,出于安全原因自动添加它们或者MySQL是错误的排序规则,但是我还没有能够解决它,测试多个MySQL排序规则.
以下是查询示例:
mysql_query("INSERT INTO news (title, poster, text, time) VALUES ('$newstitle', '1', '$newstext', '$time')") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)
$time是time();
$newstitle和$newstext来自被解析$_POST无一不是通过跑mysql_real_escape_string()之前我运行查询(我想这可能是问题,但因为它是安全的一部分,我只是不想删除它,因为它没有导致问题在我的本地服务器上)
最后一点:在我的本地apache服务器上,我latin1_swedish_ci在Web主机服务器上无法正常工作.
编辑:
它们在数据库中看起来像这样:
\'\'\'\"\"\"
Run Code Online (Sandbox Code Playgroud)
虽然在我的本地,他们没有额外的反斜杠,所以它必须是PHP添加它.有没有办法解决这个问题,除了添加一个删除额外反斜杠的函数?