PHP

warning: iconv(): Wrong encoding, conversion from

字号+ 编辑: 种花家 修订: 种花家 来源: 原创 2023-09-09 我要说两句(0)

在处理excel导入导出的时候经常会出现这样的报错, 这里介绍一下如何处理。

wps和微软office的excel文件编码默认不是UTF-8, 笔者为了处理这个问题, 萌试将ANSI直转成UTF-8, 遇到报错

warning: iconv(): Wrong encoding, conversion from "ANSI" to "UTF-8" is not allowed

我们遇到的业务场景是: 程序逻辑和数据库内置的编码都是UTF-8的, 但外部供应商导进来的文件说不准是什么编码, 但已知是有几个可能的编码的。这个场景我们用到了php mbstring的一个自带函数, 先拿源代码举例:

$encode = mb_detect_encoding($str, array('ASCII', 'UTF-8', "GB2312", "GBK"));

这里返回的$encode就是编码值, 类型为字符串。把这个返回的结果直接塞到iconv里面:

$converted_str = iconv($encode, 'UTF-8', $str);

拿到的$converted_str就是转换完的UTF-8字符串。


阅完此文,您的感想如何?
  • 有用

    145

  • 没用

    9

  • 开心

    15

  • 愤怒

    6

  • 可怜

    38

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • mac开发接入微信公众号接口返回报错 cURL error 56: SSLRead() return error -9806

  • PHP的换行符是什么

  • pecl安装程序时报错Array and string offset access syntax with curly braces is no longer supported

  • 由于商家传入的H5交易参数有误,该笔交易暂时无法完成,请联系商家解决

我要说说
网上宾友点评