You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP读取UTF-8字符串本国首字符乱码问题及解决

解决UTF-8多字节字符首字符读取乱码问题

问题场景

从UTF-8编码的TXT文件中读取包含本国特殊字符(如ęĘ、óÓ)的单词并存入数组,完整单词显示正常,但通过$str[0]方式读取单词首字符时出现�乱码。

问题原因

PHP中使用$str[0]访问字符串是按字节读取,仅适用于单字节的拉丁字母。而ę、ó这类本国字符属于UTF-8多字节字符(通常占2-4个字节),直接按字节拆分会破坏字符结构,导致乱码。

解决方案

使用PHP的多字节字符串扩展函数mb_substr(),指定编码为UTF-8来正确截取首字符:

$firstChar = mb_substr($file_info_01c_text, 0, 1, 'UTF-8');
// 之后用$firstChar和指定标签字符对比即可

内容的提问来源于stack exchange,提问作者tropiciel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 05:07:05