UTF8编码规则
utf-8为变长编码, 编码规则如下:
| Binary | Hexadecimal | Decimal | Width |
|---|---|---|---|
| 00000000-01111111 | 00-7F | 0-127 | 1 byte |
| 11000010-11011111 | C2-DF | 194-223 | 2 bytes |
| 11100000-11101111 | E0-EF | 224-239 | 3 bytes |
| 11110000-11110100 | F0-F4 | 240-244 | 4 bytes |
PHP中有以下的函数在操作utf-8字符串时会不安全,具体参考此链接:http://www.phpwact.org/php/i18n/utf-8和http://www.phpwact.org/php/i18n/charsets。
不过所以的问题在PHP6中将都会成为过去,PHP6中会原生的支持utf-8字符集,不过感觉慢了点。觉得.Net和Java早已解决了这类问题,毕竟为了支持多国语言,UTF-8必将成为Web编码的标准。