写在前面
emoji表情对于用户来说是非常常见的输入,尤其是在移动端,对于emoji表情的处理如果不注意的话就很容易出错,对于我现在的这个项目来说就是可能因为一开始设计数据库的时候没有考虑到这个问题,现在数据多了现在改数据库不好改,只能在php代码中过滤掉emoji表情。对于我来说,仅仅在网上搜到解决方案自然远远是不够的,对于其中的一些原理,我也还要弄清楚。
字符集与http
字符集指的是一种从二进制编码到某类字符符号的映射,而校对是指一组用于某个字符集的排序规则。
http协议中与字符集相关的首部有Content-Type和charset参数,Content-Language,这两个首部是服务器端告诉客户端实体主题所使用的的字符集类型,而客户端使用Accept-Charset和Accept-Language首部告知服务器 它理解哪些字符集编码算法和语言以及其中的优先顺序。
在html文档中也可以用对应的meta标签或者直接指定charset参数。