PHP-Strlen的行为非常奇怪,相同的事情-不同的结果,lol数字?
PHP-Strlen的行为非常奇怪,相同的事情-不同的结果,lol数字?,php,mysql,unicode,utf-8,strlen,Php,Mysql,Unicode,Utf 8,Strlen,tresc和tresc\u pelna 同样的类型,同样的内容 相同的内容总共876个字符 通过从数据库中获取数据作为数据\u dodania,p.data\u modyfikacji,p.tresc,p.tresc\u pelna,p.url,count(k.id). Echeon通过 你猜怎么着 这是输出 876----3248 什么 我完全不知道这里发生了什么 请帮帮我,D 这两个字段utf8\u polish\u ci和内容完全相同 结果仍然很糟糕 tresc超过3000。。。什么是
tresc
和tresc\u pelna
同样的类型,同样的内容
相同的内容
<代码>总共876个字符
通过从数据库中获取数据作为数据\u dodania,p.data\u modyfikacji,p.tresc,p.tresc\u pelna,p.url,count(k.id).
Echeon通过
你猜怎么着
这是输出
876----3248
什么
我完全不知道这里发生了什么
请帮帮我,D
这两个字段utf8\u polish\u ci
和内容完全相同
结果仍然很糟糕
tresc
超过3000。。。什么是。。。怎么用?为什么? MySQL有两个内置函数,用于确定可变长度项目的长度。一个,统计不同的unicode字符。另一个计算八位字节(字节),为
在PHP中,strlen()。许多unicode字符串,尤其是utf8编码的字符串,每个字符的八位字节数是可变的。你可以数一数
我发现有时候做选择十六进制(unicode\u列)
来找出MySQL中隐藏的内容是很有帮助的。仅仅获取列数据就可以让您在使用的MySQL客户机的字符渲染中任由摆布,这可能会让您非常困惑
您的数据库列也可能已对其中的数据进行了实体化(例如,字符串é;
而不是Unicode字符é
。如果该实体文本被发送到web浏览器,它将呈现为字母。MySQL有两个内置函数用于确定可变长度项的长度。一个用于计算不同的Unicode字符,另一个用于计算八位字节(字节),是的
在PHP中,strlen()
我发现有时候做SELECT HEX(unicode\u column)
来找出MySQL中隐藏了什么是很有帮助的。仅仅获取列数据就可以让你在使用的MySQL客户端的字符渲染中任由摆布,而且可能会非常混乱
您的数据库列也可能已对其中的数据进行了实体化(例如,字符串é;
而不是Unicode字符é
。如果该实体文本被发送到web浏览器,它将呈现为字母。长度和字符长度之间的差异可以解释大多数欧洲文本的比率低于1.2x。它无法解释3248:876,即nea。)rly 4x
也许这是答案的一部分:
- Htmlentities,例如
ó;
,它需要8个字节来表示一个2字节的utf8字符。我们看不出其中一个字符是否有。长度和字符长度之间的差异可以解释大多数欧洲文本的比率低于1.2x。它无法解释3248:876,这几乎是4x
也许这是答案的一部分:
- Htmlentities,例如
ó;
,它需要8个字节来表示一个2字节的utf8字符。我们看不出其中一个字段是否有这些字段的排序规则是什么?@tkausl都是utf8\u polish\u ci
,它们都有完全相同的内容,并且字符集不会被手动更改?也就是说,它们都是utf8
?@tkausl始终为utf-8,当您回送这两个em时,它们的输出是相同的?这些字段的排序规则是什么?@tkausl都是utf8\u polish\u ci
,它们的内容完全相同,字符集也不会手动更改?即,它们都是utf8
?@tkausl始终为utf-8,当您回送这两个em时,它们的输出是相同的输出?