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 西里尔字符串长度加倍其值 的相关文章

  • Php Define() 命名空间内的常量说明

    正如标题所示 我真的很想澄清这一点 我读过一些关于这个主题的文章和帖子 但有些东西不适合我 我会补充一点 我对 Php 有点陌生 好吧 这就是我想了解的 namespace Information define ROOT URL infor
  • 创建动态子域

    自从我考虑一些网站正在实施的此功能以来已经有一段时间了 它看起来非常成功 类似的网站tumblr com blogger com wordpress com允许用户使用简单的 HTML PHP 表单从网站内注册新的子域名 以我目前对 PHP
  • 如何让 PagerDefault 查询与 Drupal 7 一起正常工作?

    我正在运行以下代码 query db select taxonomy index ti gt fields ti array nid gt condition ti tid term gt tid gt condition n status
  • 递归BBCode解析

    我正在尝试解析脚本中的 BBCode 现在 它可以无缝工作 直到我尝试缩进不仅仅是粗体或下划线的 BBCode 例如剧透 网址 字体大小等 然后它就会搞砸 这是我的代码 function parse bbcode text global d
  • 如何在 PHP 中进行静态代码分析? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有PHP源文件的静态分析工具 二进制文件本身可以检查语法错误 但我正在寻找功能更多的东西 例如 未使用的变量赋值 未先初始化就分配到的
  • 如何将 imagecropauto() 与 IMG_CROP_TRANSPARENT 一起使用?

    当我尝试裁剪图像的透明区域时 它会保持原始大小 并且透明区域会变成黑色 如果我运行这段代码
  • 从字符串中修剪/删除制表符 ( "\t" )

    任何人都可以建议一种从字符串中删除制表符 t 的方法吗 CString 或 std string 例如 1E10 变为 1E10 hackingwords 的回答 https stackoverflow com questions 5562
  • OOP 中的静态和动态变量/方法是什么?

    我试图更好地理解 OOP 中的基本概念 面向对象编程中的静态和动态变量和方法是什么 例如 使用 this 与使用双冒号 之间有什么区别 this this gt a method 优点 缺点 这个 不是自我记录的 如下所示 this gt
  • PHP 数据库显示在具有不同锚标记的相同字段中

    我四处寻找 看看这是否可行 但却空手而归 首先 这是我的代码 div style display none div ul li li li li li li ul
  • 我们在哪里/什么时候使用 JSON?

    你能告诉我 JSON 有什么用 在 Javascript 和 PHP 中 当我们需要 JSON 方法时 我从以下链接中阅读 但是 我没有获得有关任何项目的 JSON 实现的任何信息 http www json org js html htt
  • PHP 论坛软件可以轻松与现有网站集成吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个现有的 php 网站 已经设置了用户系统 注册 身份验证 丢失密码等 我决定添加一个留言板并将其与现有网站集成 在一个网站上注册应
  • Zend Framework 2 在视图中显示视图

    我有两个模块管理和登录 我想在管理视图 index html 中显示登录视图 login phtml 我在管理模块indexAction控制器中有以下内容 public function indexAction login new Logi
  • 关于C字符串的问题

    我是 C 语言新手 对 C 字符串非常困惑 以下是我的问题 从字符串中查找最后一个字符 如何找出字符串中的最后一个字符 我带着类似的东西来 char str hello printf c str strlen str 1 return 0
  • 有没有办法获取 PHP 中可用区域设置的列表?

    在Java中 你可以调用Locale getAvailableLocales 获取可用区域设置的列表 我期待 PHP 的同等功能Locale http php net manual en class locale php类 但找不到 有没有
  • 从数据库中给定时间起经过的时间

    我有一个 HTML 表 其中包含从数据库中提取的记录 我正在使用 PHP MySQL 我的表中名为 Timer 的列未从数据库中检索 我需要在此处显示经过的时间 从数据库中的特定时间开始 例如 假设现在的时间是2013年2月21日下午6点2
  • JQuery 验证不起作用

    我有一种表单 其中一个输入类型的值为 名字 但这可以在 onfocus 函数上更改我想验证此输入字段 如果它为空白或 名字 我有两个 jQuery 文件jquery 1 4 2 min js jquery validate pack js
  • 下载表格 - 选择文件合并到 Zip 中

    我希望创建一个表单 用户可以从手册列表中进行选择 总共10个 他们可能只想下载 3 份小册子 或 6 份 或 1 份 或 9 份小册子 但想法是他们选择所需的小册子 然后用脚本组合一个包含所需小册子的 zip 文件 任何人都可以提出任何建议
  • 如何在 Ruby on Rails 中不使用 eval 将字符串转换为哈希值? [复制]

    这个问题在这里已经有答案了 这里是string需要转换成hash status gt label gt Status collection gt return misc definitions project status 我们不能使用ev
  • ZF2 - 从路线生成 URL

    我无法弄清楚在 zend 2 中从我想要的任何地方生成 Url 我得到了动作和控制器 所以我尝试这个 this gt url myControllerName array action gt myActionName 但这返回一个对象 我只
  • 升级到 5.4 但“php -v”仍然返回旧版本

    我使用的是 OSX Lion 10 7 5 正如建议的如何在 Mac OS X 中升级 PHP https stackoverflow com questions 2526085 how do i upgrade php in mac os

随机推荐

  • 如何使用 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