当插入MySQL表时,∞被转换为âž

时间:2010-01-15 01:00:53

标签: php javascript mysql utf-8 encodeuricomponent

当无限()符号被PHP脚本插入我的MySQL表时会被转换为∞,但如果我直接从phpMyAdmin插入它,它会正确插入。通过GET调用将符号传递给PHP脚本,并在内容周围使用JavaScript函数encodeURIComponent()。 MySQL数据库中的字段为utf8_swedish_cl。如何将作为插入数据库?

4 个答案:

答案 0 :(得分:2)

检查这个真正好的答案: UTF-8 all the way through…

答案 1 :(得分:1)

确定 phpMyAdmin做得对吗? ∞看起来很像存储在latin-1列中的UTF8字符。

执行此操作后会得到什么select hex(column_name) from the_table

  • 如果是E2889E,那么您的连接是UTF8,您的列可能不是。

  • 如果是C3AC,那么您的连接是latin-1,而您的列是utf8。

  • 如果是EC,则您的连接和列都是latin-1

这是验证列的编码是UTF8的快速方法:

select 
    column_name, character_set_name, collation_name 
from 
    information_schema.columns
where
    table_name = '_your table_'

答案 2 :(得分:0)

您是否在将内容插入数据库之前设置了SET NAMES utf8

答案 3 :(得分:0)

不要忘记脚本开头的“查询”SET CHARACTER SET utf8