PHP array_key_exists 和 UTF 8

2023-12-30

我有一个数据库,其中编码为 UTF-8 用于多语言目的。 我认为我的应用程序中的所有内容均采用 UTF-8 格式。

虽然我对 array_key_exists 函数有疑问。

  1. 它从对数据库的查询开始

SELECT name, value from TABLE

  1. 然后我用结果填充哈希图:

$hashmap[ $row['name'] ] = $row['value']

但是,当数据库中的名称包含像 'é' 这样的重音符号时,以下命令将返回 false :

$this->db->select('name');
$this->db->select('value');
$this->db->from('table');
$q = $this->db->get();
$res = $q->result_array();

    foreach ($res as $value) {
        $hashmap[$value['name']] = $value['value'];
    }

$key = 'name é'; // an ord here returns 233
array_key_exists($key, $hashmap) 

我不知道如何进一步解决这个问题,您遇到过这个问题吗?

我有一个性能要求。

感谢您的帮助。


如果数组键确实是来自数据库的 UTF-8 字符串,则它会以 UTF-8 进行编码。显然你的源代码文件不是用 UTF-8 编码的,我猜它是用 Latin-1 编码的。因此,UTF-8 字节序列和 Latin-1 字节序列之间的比较不成功。将源代码文件保存为 UTF-8,它应该可以工作(请咨询您的文本编辑器)。

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

PHP array_key_exists 和 UTF 8 的相关文章

  • 通过字符串操作预防 PHP SQL 注入[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 中防止 SQL 注入的最佳方法 https stackoverflow com questions 60174 best way to prevent sql injection in php
  • 根据product_id获取magento产品的浏览次数

    我想在 Magento 的类别列表页面上显示查看计数 这些数据看起来过去可以通过 reports product collection 访问 但我找不到正确访问它的方法 我基本上想提供一个产品 ID 并获取返回给我的所述产品的观看次数 您可
  • PHP:解析器 asp 页面 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 早上好 我可以用 php 解析一个
  • 为什么零长度 VLA 是 UB?

    2011年标准明确规定 6 7 6 2 数组声明符 如果大小是一个不是整数常量表达式的表达式 如果它出现在 在函数原型范围内声明 它被视为被替换为 否则 每次评估时 其值都应大于零 每个实例的大小 变长数组类型的值在其生命周期内不会改变 其
  • C 中的数组地址减法[重复]

    这个问题在这里已经有答案了 可能的重复 C 中的指针算术 https stackoverflow com questions 759663 pointer arithmetic in c Code int main int a 0 1 2
  • 将我的 Laravel 连接到外部数据库

    如何将 Laravel 连接到外部数据库 示例 我的本地计算机上有一个 Laravel 它在 xampp 上运行 我希望它连接到云服务器数据库 打开 env文件并编辑它 只需设置正确的外部数据库凭据 DB CONNECTION mysql
  • 将数组分配给数组

    所以我正在尝试一些数组 但我不明白为什么这不起作用 int numbers 5 1 2 3 int values 5 0 0 0 0 0 values numbers 出现以下错误 Error 1 error C2106 left oper
  • Php Curl HTTP POST REQUEST 使用嵌套键值对设置自定义标头

    如何使用 Curl 在 php 中设置此标头 CustomInfo 元素是数组 嵌套键值对 AuthenticationInfo 元素是数组 嵌套键值对
  • Monolog:通过邮件发送错误日志会导致每个发送的错误都会收到一封额外的邮件

    对于通过邮件发送的每个错误日志 我们都会收到另一封额外的电子邮件 其中包含 2 行 smtp 调试日志消息 新创建的 symfony 演示 symfony new demo 配置独白以通过邮件发送错误消息 如docs https symfo
  • websockets 如何处理同一浏览器的两个选项卡

    I have 1 个 PHP 服务器 提供 http 请求 和 1 node js 发布更新的数据消息 每个连接都带有 websocket php 服务器设置其 cookie 在一个浏览器中 此 cookie 可在所有选项卡中使用 当浏览器
  • Mac OSX 10.7.4,Xcode 4.4.1,没有 头文件?

    我正在编写一个程序 它将使用 C 标准库的数组容器来保存一些对象 但是 每当我尝试在程序中包含以下代码行时 include
  • 二维数组作为字典的项目

    我想用一个项目的几个属性填充字典 例子 我正在考虑拥有Item 1 and Item 2 as Dictionary键与array这将保留其属性 我需要能够单独访问项目的每个属性 因此将它们连接为一个字符串不是一种选择 我正在考虑类似下面的
  • 一次用 \r\n & \n & \r 分解字符串? [复制]

    这个问题在这里已经有答案了 我想按行分割字符串 但我希望它基于所有主要使用的换行符 n r n r 并返回一个包含每一行的数组 您可以使用正则表达式和preg split http php net preg split反而 lines pr
  • 即使在双引号内或使用 PHP_EOL,PHP echo 也不打印换行符

    这是一张照片剪辑 我认为它很清楚 这真让我抓狂 我似乎无法让 php 在我的本地主机 使用 xampp 或在线 PHP 解释器上打印换行符 如果你想在 php 中使用 HTML 标签 试试这个 echo dkljaks aalksja kl
  • 检查字符串是否编码为 UTF-8

    function seems utf8 str length strlen str for i 0 i lt length i c ord str i if c lt 0x80 n 0 0bbbbbbb elseif c 0xE0 0xC0
  • Symfony VS CakePHP:哪一个最接近 PHP [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我主要是一名 Rails 开发人员 但有时 我必须使用 PHP 进行编码 因为 stackoverflow com更喜欢可以回答的问题 我想知道
  • 无法访问 WordPress 中声明的全局变量

    我有以下代码 g value something print g value function get value global g value print g value print get value 当我在独立的 PHP 脚本中运行它
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • 通过 IP 地址限制 Laravel 错误日志

    When debug被设定为true在 Laravel 的app config php有什么方法可以限制结果Whoops包含对某些 IP 地址的堆栈跟踪的错误页面 并且不在该列表中的 IP 显示特定视图 Thanks 没有内置 但是你可能可
  • Yii2:无法将列值更新+1

    创建新记录时 我需要将列值更新 1 public function actionCreate model new CreateBookings if model gt load Yii app gt request gt post Yii

随机推荐

  • 使用自定义消息捕获和处理 Jackson 异常

    我希望能够捕获我正在开发的 spring boot API 中发生的一些 Jackson 异常 例如 我有以下请求类 我想捕获当 JSON 请求对象中的 questionnaireResponse 键为 null 或空白时发生的错误 即 在
  • 局部变量与实例变量

    我对使用 XNA 构建的游戏的 C 优化进行了大量研究 但我仍然不太明白局部变量是否是实例变量 在不断更新和使用时会提供更好的性能 根据http www dotnetperls com optimization http www dotne
  • T-SQL 存储过程 - 动态 AND/OR 运算符

    我只是想知道 MS SQL Server 2005 中是否有一种方法可以将运算符作为存储过程参数传递 如果可能的话 我确实需要避免使用动态 SQL AppOperator AND WHERE 1 1 AppOperator 2 2 这并不是
  • Cruise Control .Net 服务器无法检测在 Starteam 上完成的修改

    我正在使用 Cruise Control Net 1 4 进行持续集成 并将其安装在我的 Windows 2000 桌面上 我有 Nant 0 85 用于构建 我的源代码控制位于 Borland Starteam 2005 中 我安装了 N
  • 如何将照片库加载到UICollectionView中?迅速

    我正在努力实现的目标 对于这个项目 我只会提到两个源文件 1 RPPhotoLibrary swift UICollectionViewController 和 2 PhotoThumbnail swift UICollectionView
  • git push ...致命:无法创建master.lock:文件存在

    帮助 当我尝试做一个git push origin master现在 我得到 fatal Unable to create home ubuntu workspace git refs remotes origin master lock
  • Asp.net Core 中的@Html.EnumDropDownListFor

    我正在 Asp net Core 中移植 MVC5 应用程序 我找不到 Html EnumDropDownListFor 它是否已被弃用并且有替代品吗 有没有任何文档可以让我找到所有这些小的重大更改 对于仍在寻找答案的任何人 在 ASP N
  • 长按手势弹出菜单

    我对 ios 和核心动画都很陌生 所以我正在做一些测试来适应它 我有一个菜单 我试图通过长按手势来创建 我希望按钮先向上动画 然后向下动画 然后消失 我让出现的部分工作了 但我不知道如何让它消失 它也不允许我在 UIGestureRecog
  • 关闭从 WebView 打开的全屏视频后出现白屏

    我有一个WebView带有嵌入的 youtube 视频 我已经使用简单的对话框解决方案实现了全屏模式 如下所示 webView setWebChromeClient new CustomWebChromeClient public clas
  • highcharts 工具提示错误日期

    我制作了一个高图表 该工具提示以格式显示日期和时间 但它显示了错误的日期和时间 请仔细阅读下面的代码 HTML 代码 div style min width 310px height 400px margin 0 div
  • 在Java中,是否可以转换为void(而不是Void)?

    我可以在 X 中添加任何内容来使以下工作正常进行 Object o void X void 理论上是一个原语 尽管大多数人不同意 甚至我怀疑 你不能将一个对象投射到它上面 最接近这一点的是 InvocableHandler 可以return
  • .NET 字符串的内部格式是什么?

    我正在 C NET 中编写一些漂亮的字符串操作密集型代码 并对我记得不久前读过的一些 Joel Spolsky 文章感到好奇 http www joelonsoftware com articles fog0000000319 html h
  • Android:图标不会出现在操作栏中

    我正在关注操作栏的 google 教程 但图标没有出现在上面 这是菜单 xml 文件 menu menu
  • Xcode 4.2 代码覆盖率

    我开始使用 Xcode 4 2 但在生成代码覆盖率方面遇到问题 Xcode 4 2 不包含 GCC 4 2 编译器 但已替换为 LLVM GCC 4 2 编译器 第一个用于在以前版本的 Xcode 中生成代码覆盖率 我按照 CoverSto
  • Vim 语法高亮不起作用

    我在我的笔记本电脑上安装了新的 Arch Linux 系统并下载了 vim 软件包 我没有更改 vimrc 文件 但语法突出显示似乎不适用于我尝试过的任何语言 Python Ruby CSharp C 自动格式化 gg G 也失败 到目前为
  • 支付宝移动支付在服务器端接收请求字符串

    我不完全确定这个问题有多受欢迎或者是否会得到任何答复 因为这个问题与中国开发者的关系比与国外开发者的关系更大 但是 我目前正在努力集成支付宝的服务器端脚本以接收移动电话成功请求字符串 我已经成功地向我的移动人员 通过在可怕的支付宝 API
  • 继承和方法重载

    为什么C 编译器会出现这个错误 为什么我可以从 B 访问 lol 但无法访问 rofl 不带参数 陷阱在哪里 class A public void lol void void rofl void return rofl 0 virtual
  • NetTiers 去向何方?

    我在一两次工作之前在许多项目中使用过 NetTiers 我发现它对于在 ASP NET Web 表单中生成后端接口非常有用 业务层和数据层也相当不错 我通常使用 NHibernate 但我认为在这些特定项目上 就运行所需的时间而言 它可能有
  • 按外键排序 Django 查询结果

    我有一个模型 设置如下 class Log models Model name models ForeignKey User date models DateField time models TimeField 我知道这不起作用 但是有没
  • PHP array_key_exists 和 UTF 8

    我有一个数据库 其中编码为 UTF 8 用于多语言目的 我认为我的应用程序中的所有内容均采用 UTF 8 格式 虽然我对 array key exists 函数有疑问 它从对数据库的查询开始 SELECT name value from T