相关疑难解决方法(0)

UTF-8一路走来

我正在设置一个新服务器,并希望在我的Web应用程序中完全支持UTF-8.我过去曾在现有的服务器上尝试过此操作,但最终似乎不得不回归ISO-8859-1.

我在哪里需要设置编码/字符集?我知道我需要配置Apache,MySQL和PHP来执行此操作 - 是否有一些我可以遵循的标准清单,或者可能是在出现不匹配的地方进行故障排除?

这适用于运行MySQL 5,PHP,5和Apache 2的新Linux服务器.

php mysql linux apache utf-8

1146
推荐指数
13
解决办法
15万
查看次数

什么是最长的电子邮件地址?

可能重复:
超过最大电子邮件地址大小

电子邮件地址可以有多长时间的技术限制?那些不同的主要电子邮件提供商(谷歌,微软等)是否存在实际限制?

在法律上或事实上,电子邮件地址中的字符数是否有限制?

email standards

18
推荐指数
2
解决办法
3万
查看次数

6个八位位组的UTF-8序列是否有效?

UTF-8可以编码5或6字节序列,允许编码所有Unicode字符吗?我的标准越来越矛盾了.我需要能够支持每个Unicode字符,而不仅仅是那些U + 0000..U + 10FFFF范围内的字符.

(所有引用均来自RFC 3629)

第3节:

在UTF-8中,使用1到4个八位字节的序列对来自U + 0000..U + 10FFFF范围(UTF-16可访问范围)的字符进行编码.一个"序列"的唯一八位字节将高阶位设置为0,其余7个字节用于编码字符编号.在n个八比特组的序列中,n> 1,初始八比特组将n个高阶比特设置为1,然后将比特设置为0.该八比特组的其余比特包含来自字符数的比特.要编码.以下八位字节都将高阶位设置为1,后面的位设置为0,每个字节留下6位以包含要编码的字符的位.

那么不是所有可能的字符都可以用UTF-8编码吗?这是否意味着我不能编码来自不同平面的字符而不是BMP?

第2节:

从未出现八位字节值C0,C1,F5至FF.

这意味着我们不能用5或6个八位字节编码UTF-8值(或者甚至是4个不在上述范围内的一些)?

第12节:

将字符范围限制为0000-10FFFF(UTF-16可访问范围).

看看之前的RFC证实了这一点......他们减少了字符的范围.

第10节:

编码为UTF-8时会出现另一个安全问题:UTF-8的ISO/IEC 10646描述允许编码高达U + 7FFFFFFF的字符数,产生最多6个字节的序列.因此,如果字符数范围没有明确限制为U + 10FFFF,或者缓冲区大小没有考虑到5字节和6字节序列的可能性,则存在缓冲区溢出的风险.

那么这些序列是否符合ISO/IEC 10646定义,而不是RFC 3629定义?我应该遵循哪一个?

提前致谢.

unicode utf-8

7
推荐指数
1
解决办法
1299
查看次数

标签 统计

utf-8 ×2

apache ×1

email ×1

linux ×1

mysql ×1

php ×1

standards ×1

unicode ×1