偶尔出现这个角色,我似乎无法在ascii表中找到它.我想在数据发送到数据库之前对数据进行过滤,但我必须先知道它是什么.也许有人可以告诉我.我正在使用一个所见即所得的编辑器,这就是它的来源.这个角色看起来非常零星,但是当我做两个\ r或者退格时,它似乎经常出现.
这是角色
Â
Run Code Online (Sandbox Code Playgroud)
好的,有人建议我在文档的头部将内容类型更改为utf8,但我仍然在数据库中获取这些字符.这是我添加内容类型后的测试
adf af  aafd a a
aa a  afa aÂ
adf
Run Code Online (Sandbox Code Playgroud)
Gre*_*ill 16
该字符很可能与UTF-8编码问题有关.Joel的文章绝对最低每个软件开发人员绝对,必须知道关于Unicode和字符集(没有借口!)绝对建议在这个例子中阅读.
在发送到数据库之前过滤掉这些字符几乎肯定是错误的.
在你提到的情况下,你可能正在处理字符U + 00A0,这是非中断空间的Unicode字符.该字符的位模式为:
1010 0000
Run Code Online (Sandbox Code Playgroud)
在UTF-8编码之后,编码的字节看起来像
110x xxxx 10xx xxxx
Run Code Online (Sandbox Code Playgroud)
其中'x'表示Unicode字符值的一部分,因此U + 00A0编码为:
1100 0010 1010 0000
Run Code Online (Sandbox Code Playgroud)
这是0xC2 0xA0.巧合的是,第二个字符与您编码的原始字符(U + 00A0)的字节值相同,而第一个字符是您所看到的.