使用此查询:
UPDATE `arg`.`arg_currency` SET `symbol` = '' WHERE `arg_currency`.`id` =2 LIMIT 1 ;
我收到此错误:
警告:#1366字符串值不正确: 列'符号''\ xF0 \ x90 \ x80 \ xA4' 在第1行
列symbol
是CHAR(1)
utf8_roman_ci
,但我都试图将整理更改为_general和_unicode,将字符更改为4,但我仍然得到了同样的错误。
我做错了什么?
(我都尝试通过自定义php代码和phpmyadmin插入它)
答案 0 :(得分:6)
正如@CarpeNoctumDC指出的那样,这个问题解释了这个问题:
MySQL don't want to store unicode character
MySQL仅支持基本多语言平面(0x0000 - 0xFFFF)中的字符。
如果这架飞机你的角色出局了。
在你的情况下,我会通过将角色存储为数字实体来解决它。具有指定的UTF-8编码的 不,它没有。 htmlentities()
应该能够实现它,例如。
This function in the User Contributed Notes适合我:它将角色转换为数字实体。
echo utf8tohtml("", true); // echoes 𐀤
答案 1 :(得分:-1)
这个''
的编码是什么?首先尝试使用iconv()
http://php.net/manual/en/function.iconv.php
更新:
看起来''
被动态编码为字符串\xF0\x90\x80\xA4
,
如果你的字段是CHAR(1)它不适合并返回错误 - 需要找到它被编码的原因。