【问题标题】:En dash and PHP [duplicate]破折号和PHP [重复]
【发布时间】:2021-05-07 14:33:05
【问题描述】:

PHP 正在将 En dash/Em dash () 长度计算为 3。我尝试了不同的 PHP 版本(5.x、7.x、8.0),但所有版本的结果都是一样的。

这是预期的还是已知的错误?它不会发生在其他语言中(即 Javascript、Python)。

还有这样的角色吗?我们该如何处理?

【问题讨论】:

  • 用什么代码得到这个结果?
  • 使用mb_strlen()
  • strlen() returns the number of bytes rather than the number of characters in a string.。该破折号必须是 3 个字节长。
  • 哦,好吧。知道了。 str_pad 没有 multibyte 函数。

标签: php strlen


【解决方案1】:

en dash / em dash 采用 UTF-8 编码,3 个字节。请与mb_strlen() 联系。 strlen() 计算字符串中的字节数。

查看文档:

注意:strlen() 返回的是字节数,而不是字符串中的字符数。

【讨论】:

猜你喜欢
  • 2015-05-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2012-07-07
  • 2016-04-19
  • 2022-11-22
  • 2011-12-17
  • 1970-01-01
相关资源
最近更新 更多