Maison > développement back-end > tutoriel php > 求教 把包含汉字的数组输出到文件,其他地方调用读取为数组

求教 把包含汉字的数组输出到文件,其他地方调用读取为数组

WBOY
Libérer: 2016-06-23 14:09:12
original
816 Les gens l'ont consulté

求教 把包含汉字的数组输出到文件,其他地方调用读取为数组  
这里要注意的是 需要考虑编码问题,我想要的是无论是在GBK 还是UTF8的汉字都能正常存取
之前在utf8下 用 json 正常存取
但是换到GBK下就不行 
首先这里说明下 是GBK还是UTF8 是未知的  也就是说要在这两种编码下都能运行的代码。而不用再手动修改


回复讨论(解决方案)

易入难出是大原则
你这里显然是管“出”,所以是不应该以不定编码输出的,而应该确定只输出一种编码
至于你的数据来源与预定输出编码不符就转换好了

问一下:其他地方调用读取为数组
是指什么?
直接文件函数操作?
include?
函数调用?

把数据返回做成返回json数据的接口不就行了吗?

求教 把包含汉字的数组输出到文件,其他地方调用读取为数组  
这里要注意的是 需要考虑编码问题,我想要的是无论是在GBK 还是UTF8的汉字都能正常存取
之前在utf8下 用 json 正常存取
但是换到GBK下就不行 
首先这里说明下 是GBK还是UTF8 是未知的  也就是说要在这两种编码下都能运行的代码。而不用再手动修改

为什么GBK不行

json最好用UTF-8,否则被javascript使用后,中文可能乱码。

把数据返回做成返回json数据的接口不就行了吗? 我当然知道用JSON就行  问题是GBK JSON不支持中文  如果用icov进行编码转换  又不知道当前是GBK 还是UTF8

关键在于其他程序如何读?

关键在于其他程序如何读? 我写的是一个Discuz 的插件   由于dz有多个编码的  因此不知道用户使用的是什么编码的  所以保存的时候要根据用户的编码进行保存

既然是为 Discuz 写插件,那么就可以从 Discuz 中获取编码信息
config/config_global_default.php 中不是已经设置了使用的编码了吗?
$_config['db']['1']['dbcharset'] = '...';// 数据库字符集
$_config['output']['charset']    = '...';// 页面字符集

很难想象,写插件不利用系统已有的环境设置

写入到文件中的数据,最好用 var_export 产生的结果,以 php 代码形式写入
这样在重新使用时,用 include 就可读回了

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal