PHP函数fgetcsv 支持中文

前不久处理csv文件,文件内容是日文,是通过网页上传csv文件,然后用phpcsv读取.但是得到的结果总是不显示中文,英语和日语的片假名什么的都可以.于是自己用php的函数fgetcsv测试,还是不显示.于是找到下面解决方法:
  1. PHP文件及页面编码为UTF-8
  2. csv文件编码为UTF-8
  3. 使用setlocale()设置: setlocale(LC_ALL, ‘zh_CN.UTF-8′);

我将上传文件后的文件都进行了编码转换,并在phpcsv的类文件头部添加了setlocale(LC_ALL, ‘zh_CN.UTF-8’);搞定了.

PHP函数fgetcsv 支持中文》有1个想法

  1. 脑袋说道:

    上PHP官网翻了一下,原来加上setlocale即可解决。
    原本用PHP4没出现这问题,大概是PHP5才会这样吧…
    注释:setlocale() 函数仅针对当前脚本改变地区信息。
    提示:可以通过 setlocale(LC_ALL,NULL) 把地区信息设置为系统默认。

    // utf-8
    setlocale(LC_ALL, ‘en_US.UTF-8’);
    // 简体
    setlocale(LC_ALL, ‘zh_CN’);

    //设置回系统默认
    setlocale(LC_ALL,NULL);

    以下是常用的地区标识
    zh_CN GB2312
    en_US.UTF-8 UTF-8
    zh_TW BIG5
    zh_HK BIG5-HKSCS
    zh_TW.EUC-TW EUC-TW
    zh_TW.UTF-8 UTF-8
    zh_HK.UTF-8 UTF-8
    zh_CN.GBK GBK

发表评论

返回顶部