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