我有一个textarea用户输入查询。所以我用这个来阻止包装:
textarea{
white-space:nowrap;
}
所以,然后我输入一个这样的SQL
SELECT
field1
FROM my table
这已正确保存在mysql utf8_general_ci
字段中,但当我尝试var_dump()
保存的内容时,会显示:
SELECT
à à field1
FROM my table
如果我从textarea中删除css,它可以正常工作。但我需要不包装。
答案 0 :(得分:3)
通过静默地将所有空格转换为非中断空格(white-space:nowrap
),浏览器似乎(很差)实现
。
在ISO-8859-1和Windows-1252等单字节字符集中,此字符为0xA0
。
然而,它被编码为UTF-8编码。
此字符在转换为UTF-8时,恰好转换为双字节序列0xC2A0
,当“强制转换”回单个字符时,0xC2
后跟0xA0
,或者Ã后跟[NBSP](第二个字节与原始字符相同,大概是巧合,不要带任何意义)
我建议使用旧的,更兼容的禁用包装方式:
<textarea wrap="off">...</textarea>
这将禁用包装,你应该停止看到那些奇怪的字符。