回答php parse_ini_string() 乱码怎么办

 所属分类:php教程

 浏览:137次-  评论: 0次-  更新时间:2022-11-21
描述:更多教程资料进入php教程获得。 php parse_ini_string()乱码的解决办法:1、输入文件路径;2、在提供的编码方式数组中,匹配文件的编码方...
更多教程资料进入php教程获得。

php parse_ini_string()乱码的解决办法:1、输入文件路径;2、在提供的编码方式数组中,匹配文件的编码方式;3、通过“iconv($encoding, 'UTF-8', $contents);”方式转为“UTF-8”编码即可。

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。

php parse_ini_string() 乱码怎么办?

使用parse_ini_file读取文本文档遇到中文乱码问题

1、中文乱码解决方法

$contents = file_get_contents("config.ini");
//输入文件路径
$encoding = mb_detect_encoding($contents, array('UTF-16', 'UTF-8', 'GBK','ASCII', 'SJIS', 'BIG-5'), true);
//在提供的编码方式数组中,匹配文件的编码方式
$rst = iconv($encoding, 'UTF-8', $contents);//转为"UTF-8"编码
登录后复制

2、逐行读取文件内容

      $contents = file_get_contents($rstPath);//$rstPath-目标文件路径
        $encoding = mb_detect_encoding($contents, array('UTF-16', 'UTF-8', 'GBK','ASCII', 'SJIS', 'BIG-5'), true);
 
        $file_handle = fopen($rstPath, "r");
        while (!feof($file_handle)) 
        {
            $line = fgets($file_handle);
            if(empty($line)) continue;//当前行内容为空,进入下一循环
            $line = iconv($encoding, 'UTF-8', $line);
 
            //...业务逻辑
        }
        fclose($file_handle);
登录后复制

3、file_get_contents获取文件内容字符串,parse_ini_string格式化字符串内容

$inistr = file_get_contents($filepath);
$ini_items = parse_ini_string($inistr, true);
登录后复制

4、配置文件config.ini中含有中文

$iniPath = FCPATH . 'config.ini';
$iniContent = file_get_contents($iniPath);//读取配置文件
$encoding = mb_detect_encoding($iniContent, array('UTF-16', 'UTF-8', 'GBK', 'ASCII', 'SJIS', 'BIG-5'), true);//匹配编码方式
$iniContent = iconv($encoding, 'UTF-8', $iniContent);//转换编码方式
$iniContent = parse_ini_string($iniContent, true, INI_SCANNER_RAW);
登录后复制

推荐学习:《PHP视频教程》

以上就是php parse_ini_string() 乱码怎么办的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: php,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!