Php 西里尔字符串长度加倍其值

2023-12-03

你好,这是问题所在: 当我到达 $_POST 拉丁字符串 strilen() 时效果很好,但是当我到达西里尔字符串 strlen() 时其值加倍,这里是代码:

$word = $_POST['word'];
echo strlen($word) . '<br>'; //input: abc -> returns 3, input: абв -> returns 6 
var_dump($word); //input: abc -> returns string 'abc' (length=3), input: абв -> returns string 'абв' (length=6)

你有什么想法吗?


strlen不会加倍任何内容,它只是报告情况。具体来说,它报道有多少字节- 并不是有多少个字符-- 组成字符串。那是因为strlen对什么是“字符”一无所知,盲目地认为1个字节=1个字符。因此我们说“strlen不支持多字节”。

在您的情况下,浏览器似乎将 UTF-8 编码的数据提交到服务器。在 UTF-8 中,西里尔字母每个字符有两个字节。

如果您想找出字符串中的字符数,请使用多字节感知mb_strlen:

echo mb_strlen($word, 'UTF-8');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Php 西里尔字符串长度加倍其值 的相关文章

随机推荐

  • 如何使用 TXMLDocument 将名称空间前缀添加到每个节点

    我使用 XML 绑定向导创建了 TXMLDocument 的后代 此类生成的文件将在根节点中声明名称空间 并为文档的其余部分创建简单的 未经修饰的节点
  • 带有外语数字字段的 MS Access 数据库

    我有一个 MS Access 2007 数据库 我在哥伦比亚和厄瓜多尔的一些客户遇到了一个问题 我相信还会出现更多问题 他们的编号格式与美国不同 他们使用 小数点 或句点 字符作为百万和千位分隔符 并使用 逗号字符作为小数位 这要么导致类型
  • 从嵌套对象数组中删除对象 mongodb

    我收集了包含志愿者信息的集合 并将志愿者列为对象数组 我可以显示每个志愿者的所有班次 但从数组中删除一个对我来说很困难 样本数据 id ObjectId 59180305c19dbaa4ecd9ee59 where Merchandise
  • 如何使用具有相应别名的java代码在密钥库中仅存储公钥?

    我已经创建了密钥库 我只想在密钥库中存储公钥 并且不想存储私钥 因为私钥将位于客户端设备中 并且他将使用rest API共享公钥 另外 我应该如何在一个密钥库中保留多个公钥 具有不同的别名 如果有人有示例代码或示例链接 那将对我很有帮助 这
  • Java 中可靠且快速的 FFT [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 因为我不想自己做 所以我正在寻找一个好的 Java 的 FFT 实现 首先我在这里使用这个FFT普林斯顿但它使用对象 我的分析器告诉我 由于这个事实 它并不是很快 于是我又用谷歌搜索
  • 使用VSTO读取Excel中的ActiveCell内容

    我正在尝试从 Excel 加载项中读取 ActiveCell 但没有走得太远 有人有什么想法吗 Excel Window W this Application ActiveWindow as Excel Window Excel Range
  • 上传图片MVC始终为空

    大家好 我正在尝试上传一个简单的图像 但 HttpPostedFileBase 始终保持为空 这是我的代码 我不知道我做错了什么 这是我在设计视图中的代码 fieldset legend PictureModel legend div cl
  • 常量和 Matlab Coder

    在 Matlab Coder 中运行时 某些函数要求输入为常量 我希望找到一种方法在输入之前将输入声明为常量作为有问题的情况的示例 function foo subsubfunction x y B A butter 1 x y 这将返回错
  • 将地图图钉添加到 Google 地图 Android 的最佳方法

    我已成功添加图钉 但当用户单击地图并提供新位置时需要刷新图钉 我收到错误 请记住 我需要在后台发生此操作 以便它不会影响地图交互 我的问题是 当用户单击地图时 地图图钉列表已经更新 我得到一个ConcurrentModificationEx
  • 使用 HTML5 设置视频播放时长

    我有一个使用 TimeJump js 的简单 HTML5 视频播放器 http davatron5000 github io TimeJump 以允许直接跳转到特定时间代码 IE 跳转到视频的第 25 分钟 我想添加对视频播放时长的限制 因
  • 上传文件[重复]

    这个问题在这里已经有答案了 可能的重复 如何在网页上实现文件上传进度条 Hello 我见过很多网页 用户可以上传文件 并且会得到某种进度作为视觉反馈 水平条 百分比等 我的 html 表单是
  • 通过连接传播 pandas 系列元数据

    我希望能够将元数据附加到一系列数据帧 特别是原始文件名 以便在加入两个数据帧后我可以看到有关每个系列来自何处的元数据 我看到 github 问题有关 metadata here here 包括一些与当前相关的 metadata属性 here
  • 从 .odt 文件填充 QTextDocument

    我正在使用 C 和 Qt 编写一个富文本编辑器 目前 我希望它支持 至少 odt 格式 我发现 QTextDocumentWriter 用于将 QTextDocument 的内容写入文件 但我似乎找不到任何东西可以将其读回到 QTextDo
  • 从类外部访问类属性

    假设我有以下课程 class MyClass public function Talk Say Something return Say 然后我启动了该类的一个实例 Inst new MyClass 现在 我如何在 MyClass 之外调用
  • Pandas 非常简单 分组总大小的百分比

    我在看似极其简单的操作中遇到了麻烦 通过诸如此类的操作从组中获取总数百分比的最简洁方法是什么df groupby col1 size 分组后我的 DF 看起来像这样 我只想要总数的百分比 我记得过去使用过此语句的变体 但现在无法使其工作 p
  • PHP 短标签可以使用吗?

    这是信息根据官方文档 有四对不同的 可以是开始和结束标签 在 PHP 中使用 其中两个 and 随时可用 另外两个 是短标签和 ASP 样式标签 并且 可以从打开和关闭 php ini 配置文件 像这样 虽然有些人发现短标签并且 ASP风格
  • 如何防止过度打字

    我正在尝试用 C 制作一个简单的聊天应用程序 它可以工作 但是 如果有人在其他人打字时输入某些内容 它就像写了他们正在输入的内容 我链接了图片作为下面的示例 我用于客户端和服务器的代码可以在这里找到 Client Server 图片 Bef
  • Python:获取插入符位置[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在尝试获取 Python 中的插入符号位置 我尝试使用win32gui GetCaretPos 但它总是返回 0 0 您有什么想法让它发挥作用吗 谢谢 克里斯 如果插入符号位于另
  • 在 C# 中显示数据库中列表框中的项目

    我有一个包含两个表的数据库Countries and Websites 我使用以下语句显示 listbox1 中的所有国家 地区名称 try connection Open using OleDbCommand command new Ol
  • Php 西里尔字符串长度加倍其值

    你好 这是问题所在 当我到达 POST 拉丁字符串 strilen 时效果很好 但是当我到达西里尔字符串 strlen 时其值加倍 这里是代码 word POST word echo strlen word br input abc gt