gpt4 book ai didi

PHP array_key_exists 和 UTF 8

转载 作者:可可西里 更新时间:2023-11-01 01:06:53 24 4
gpt4 key购买 nike

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

尽管我对 array_key_exists 函数有疑问。

  1. 首先查询数据库

从表中选择名称,值

  1. 然后我用结果填充 HashMap :

$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 格式保存您的源代码文件,它应该可以工作(请咨询您的文本编辑器)。

关于PHP array_key_exists 和 UTF 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8835964/

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