php pares ini file,php – 如何使用“parse_ini_file”解析包含特殊字符的ini文件?

我有一个包含以下内容的folder.ini:

[Labels]

; Ordnername

name=testverzeichnis

; Ordnerbeschreibung

description=verzeichnis zu testen von daten

[Contents]

[Publisher]

publisher=e-Solutions

copyright=André Reinhardt

当我用parse_ini_file()解析它时,我得到了 而不是é.

我的代码:

$ini_array = parse_ini_file("sad - Kopie (6)/folder.ini", TRUE);

print_r($ini_array);

我试图用& eacute取代é;但是我的字符串是0.

加成:

查看内容的代码适用于é和& eacute:

echo file_get_contents($directories[$i]."/folder.ini")

我怎么能避免这个?

解决方法:

以下是一个假设,因为您的问题在技术上并未记录到实际原因是什么.

但是可以说,这里有一个字符编码相关的问题.

使用UTF-8编码保存您的INI文件,这应该有效.我假设您的PHP脚本将UTF-8输出到浏览器,并且INI文件中的值不是UTF-8编码的.如果使用UTF-8编码保存INI文件,则应该可以使用.

这里的关键点不是“UTF-8”,而是使用您使用的应用程序所需的正确字符编码保存INI文件.例如,如果您的应用程序使用ISO-8859-1,则使用ISO-8859-1编码保存INI文件.

两者 – INI文件和PHP脚本 – 都需要说同一种“语言”.

您可以添加一个“翻译器”,它可以帮助您将两种不同的“语言”结合在一起.这样的翻译器(或更正确的重新编码器)是iconv:

$ini_iso88591 = file_get_contents("sad - Kopie (6)/folder.ini");

$ini_utf8 = iconv("ISO-8859-1", "UTF-8", $ini_iso88591);

$ini_array = parse_ini_string($ini_utf8, TRUE);

标签:ini,php,character-encoding,parsing

来源: https://codeday.me/bug/20190901/1784662.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值