gpt4 book ai didi

PHP strlen 和 mb_strlen 没有按预期工作

转载 作者:可可西里 更新时间:2023-10-31 23:43:39 26 4
gpt4 key购买 nike

当我在字符串上运行 PHP 函数 strlen() 和 mb_strlen() 时,它们都返回了错误的字符数。

这是我正在使用的一段代码...

 $foo = mb_strlen($itemDetails['ITEMDESC'], 'UTF-8');
echo $foo;

它告诉我这个刺 - “4½”Straight Iris Scissors” 有 45 个字符长。它是 27。

它还告诉我这个字符串 - “Infant Heel Warmer, No Adhesive Attachment Pad, 100/cs” 是 54,这是正确的。

我假设它的字符编码存在一些问题,我认为一切都应该是 UTF-8。我已经尝试为 mb_strlen() 提供几种不同的字符编码类型,它们都返回了这个奇怪的计数以及包含那些非标准字符的字符串。

我不知道为什么会这样。

最佳答案

仔细检查您的文本是否真的是 UTF-8。那个“”字符让我觉得它像是一个经典的字符编码问题。您应该检查从文本原点到上面引用的代码中的点的整个路径,因为有很多地方的编码可能会被篡改。

文本是否源自 HTML 表单?确保您的 <form>元素包括 accept-charset="UTF-8"属性。

文本是否在此过程中存储在数据库中?确保数据库以 UTF-8 格式存储和返回数据。这意味着检查服务器的全局默认值、数据库或模式的默认值以及表本身。

关于PHP strlen 和 mb_strlen 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6589666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com