thinkphp里面导入csv数据出现乱码怎么破
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp里面导入csv数据出现乱码怎么破相关的知识,希望对你有一定的参考价值。
参考技术A php读取csv文件,在windows上出现中文读取不到的情况,本人立马想到一个函数mb_convert_encoding();作如下设置 $str = mb_convert_encoding($str, "UTF-8", "GBK");然后就可以了。当然你也可以用iconv();作如下设置iconv(‘GBK’,”UTF-8//TRANSLIT//IGNORE”,$str);这两个函数来解决在windows上面发生乱码的问题。mysql出现乱码
我项目用java ssh+mysql5开发,源程序编码统一为utf-8,我加了filter过滤,但插入中文数据还是有乱码,我修改数据库mysql编码,就会出现启动不了过插入数据出错的问题,谁又可行的解决方案,谢谢!
修改mysql配置文件为utf-8会导致启动1067错误
设置你的filter的字符集,用setCharacterEncoding()进行页面的字符集设置;在连接数据库的时候连接词加上字符集转换jdbc:mysql://127.0.0.1:3306/db?useUnicode=true&characterEncoding=gbk&mysqlEncoding=utf-8
要你修改的是你的项目里面的web.xml里面的配置,不过这是在你在代码中设置了要去读取配置文件中的设置的编码方式。跟你修改mysql里面的关系不大 参考技术A 安装mysql 时的的默认值是latin1 可能你的默认值还是latin1
在mysql.ini 中default-character-set改为utf-8
default-collation=utf-8
或者在建表的时候自己手动设置
CREATE TABLE `Test` (
`ID` int(11) NOT NULL auto_increment,
`USERNAME` varchar(12) NOT NULL,
`PASSWORD` varchar(12) default NULL,
.....
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
参考资料:http://tmsoft.lsxy.com/index.php?id=603&load=read
参考技术B 你说的乱码是否是在mysql中查看数据时,显示的为乱码,但是在页面得到的数据还是正常的?这个是正常现象,我的mysql就是这个样子的,但是对咱们的项目实现没有任何影响。不用担心。 参考技术C 配置文件 里面有两行都要改成 GB2312 或UTF-8
还有就是新建表时也可以写句GB2312或UTF-8 这样就不会出现乱码问题了 参考技术D 要先搞清楚乱码是哪里形成的
然后对症下药。
处理中文乱码的方式很多。 第5个回答 2009-08-07 写完filter过滤之后,web.xml文件你设置了吗?
以上是关于thinkphp里面导入csv数据出现乱码怎么破的主要内容,如果未能解决你的问题,请参考以下文章