由于我们的开发模式一般选择UTF-8编码,所以当存在简体中文,繁体中文,韩日,日文时候,一般页面是不会出现问题的,但是今天做了个项目当导出的CSV的数据存在多国,不同语言的数据时候,数据将会出现乱码。
而以往的案例一般只做一种语言如:
mb_convert_encoding($content,”gb2312″,”UTF-8″),转出来的CSV没任何问题。
但是如果这时候数据中存在一些日文或者韩文,这些数据将会乱码。

经过资料查找,发现其实是CSV格式并不支持UTF-8的编码。但是他支持UTF-16的编码
可用此方法解决CSV中的编码问题

//输出BOM header(‘Cache-control: private’); header(‘Content-Disposition: attachment; filename=test.csv’); header(‘Content-type: text/csv; charset=UTF-16LE’); echo(chr(255).chr(254)); echo(mb_convert_encoding($content,”UTF-16LE”,”UTF-8”));

但是打开Excel还是可能出现一定的问题。

最终的解决方案还是采用开源phpExcel类直接生成Excel。

Nginx 自动禁止爬虫IP采集

### 背景最近我们有一个公开服务提供给客户查询关键词的热度值,由于这个API做在官方网站上,自然没有用户登陆,也没有很高查询成本,所以设计上没有任何鉴权无法进行身份认定,于是就被一个爬虫开了超高并发请求,直接后端的AWS Tomcat CPU被用尽,导致无法响应。爬虫显然...… Continue reading

Redis原子性事务Lua应用

Published on June 28, 2020