2012-06-04 40 views
0

可能重复:
charset issue with mysqlPHP /或MySQL搞乱了我的插入

所以我有了一些它这些字符的mysql的字符串:

, ? “so” 'so' : ; ! @ # $ % ^ & * ( ) { } [ ] \ < > 。 / ` 〜 ¨ ° ¯ ¡ ¢ £ § ¸ '

当通过PHP命令mysql_query某些字符显示不正确地插入到我的数据库。例如,“so”变成“so”,但是,当我打印出查询并在phpmyadmin中手动运行它时,它可以正常工作。将这些字符插入数据库的正确方法是什么,以便它们不会全部被破坏?

回答

2

使用此命令之前运行您的插入查询:

mysql_query('SET NAMES utf8'); 
+0

当我看到这个时,我正要做出类似的提及。我同意,它是一个字符类型的问题。我会说他们可能与实体或类似的东西编码。 – chris

0

你需要确保所有的这些字符在PHP中逃脱你送他们到MySQL之前。看到这个mysql-escape-string

这只是一个函数的例子。我相信还有其他的。