解决linux crontab PHP fgetcsv 读取中文数据为空问题

公司一台服务器每天定时拉取媒体报告数据,发现每次获取的中文数据为空,发现下载下来的csv文件中文是正常的,手动再次执行一次发现是正常的

现在发现linux的默认地区是 "en_US.UTF-8",于是使用 :

setlocale(LC_ALL, ‘zh_CN.UTF-8‘);

将当前脚本的地区编码设置为 zh_CN.UTF-8,在脚本结束的地方加上:

setlocale(LC_ALL,NULL);

还原linux默认的地区设置

				
时间: 2024-12-27 23:26:35

解决linux crontab PHP fgetcsv 读取中文数据为空问题的相关文章

解决Linux系统下Mysql数据库中文显示成问号的问题

当我们将开发好的javaWEB项目部署到linux系统上,操作数据库的时候,会出现中文乱码问题,比如做插入操作,发现添加到数据库的数据中文出现论码,下面就将解决linux下mysql中文乱码问题! 打开Linux窗口,启动mysql. 连接mysql输入show variables like '%char%'; 出现如下图,这样的话在linux下操作mysql会出现中文乱码,所以我们要解决这个问题. 关闭mysql,找到 /etc/my.cnf 文件 3.1 如果没有找到my.cnf文件,就从

unity 发布读取中文数据乱码

今天将开发一定阶段的Unity程序打包发布,在编辑时没任何问题,但是发布后,数据一直不能使用,开始以为是数据没有加载进来,数据在打包的时候丢失,后来发现放在resource里就不会丢失,尝试了半天,最后发现是 读取文件时的 字符串编码问题,就算在编译器里设为  Encoding.GetEncoding("gb2312")也没用,这是由于Unity自身打包出的问题,最后的解决方法如下: 对于程序中有进行中文文件解析的,需要将Unity安装目录中的\Editor\Data\Mono\lib

关于通过linux crontab+xtrabackup自动化备份mysql数据的说明

1.xtrabackup备份的时候可能没有问题,但是如果放到crontab中执行的时候可能会有执行不成功的时候,错误示例如下 innobackupex: Error: mysql child process has died: sh: mysql: command not found 解决方法1: ln -s /usr/local/mysql/bin/mysql/usr/bin/mysql 解决办法2: 在备份脚本中引入环境变量 source /etc/profile

如何解决linux(ubuntu/CENTOS)中gedit中文乱码的问题

http://jingyan.baidu.com/article/1709ad80a443c54634c4f09c.html 同时按键盘的Alt 和 F2,就可以打开“运行程序”对话框,这个功能类似于windows系统下面的“开始--->运行”,只要我们在里面输入程序名,就可以启动对应的程序 在下面的输入框里输入:gconf-editor,之后点击右下方的“run”,就可以运行gconf-editor这个程序了.具体操作如下图所示: gconf-editor程序运行后就如下图所示,其实它是一个编

python 插入/读取中文数据

搞了半天中文,原来这么做就行了,哈哈. 添加上  charset="utf-8"后,select . update.inset都能正确处理中文 附上原文链接: http://blog.sina.com.cn/s/blog_51cea4040102v6h2.html

Linux下Tomcat向MySQL插入数据中文乱码解决办法

Linux下Tomcat向MySQL插入数据中文乱码解决办法 一.问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二.解决办法 1.尝试一直接在linux上面使用insert语句插入中文,正常2.尝试二在tomcat配置文件server.xml中加入useBodyEncodingForURI="true",不行3.尝试三在tomcat配置文件server.xml中再加入URIEncodin

python读取数据库数据,读取出的中文乱码问题

最近遇到python读取数据库数据,读取出的中文乱码问题, 网络搜索的基本是: "1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)2. MySQL数据库charset=utf-83. Python连接MySQL是加上参数 charset=utf84. 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)" 这些,一一尝试后仍未解决.去数据库查看了下,发现这个出现中文乱码的字段类型是varcha

Linux系统中关于Sqlite3中文乱码问题及解决办法

新做的一个项目在本地(Win8)测试时没有问题,但传到服务器(Linux)时从Sqlite3数据库查询到的数据中文却是乱码(数据库中是正常的) 将php文件.html文件都设置成统一的utf8还是一样,在网络上也找了各种解决方案都没有任何用. 解决办法: 将查询到的数据重新处理,全部强制转换成UTF8 //打开db.db表 $db = new SQLite3('db.db'); if(!$db){ echo $db->lastErrorMsg(); exit; } else { } $keys

解决Linux下sqlplus中文乱码问题

错误现象:在windows下用其他工具访问oracle,确认中文正常显示.在Linux下使用sqlplus查询数据表中文内容出现乱码. 分析及解决:因为windows下正常,所以问题应出现在Linux客户端.用下列sql查询数据库字符集为"ZHS16GBK": SELECT * FROM nls_database_parameters t WHERE t.parameter = 'NLS_CHARACTERSET'; 设置环境变量NLS_LANG,问题解决. export NLS_LA