header('content-type:text/html;charset=UTF-8');
$data='party.csv';
$fp=fopen($data,'r');
while($r=fgets($fp)){
//$t=join("','",explode(',',$r));
$t = join("','", explode(',', $r));
echo (iconv('gbk','utf-8',$t)).'<br>';
//下面这个SQL我应该怎么写呢,用iconvGBK转UTF8不成功
//$sql="insert into value(null,'(iconv('gbk','utf-8',$t))',$adduser,$addtime)<br>";
//echo $sql;
}1,我想问下,我head已经声明了UTF8的编码,浏览器也是UTF8编码,但是还是乱码,然后我就用ICONV转换,但是如果放到SQL里面,iconv应该怎么办,直接用是不可以的,2,然后用上面的读取出来的,第一个字符串,少量一个 ' 单引号,应该是一对的,后面的都有,很奇怪,我的CSV结构是这样的但是读取出来以后,第一个字段少了一个’单引号,为什么会少一个单引号呢,我自己已经查了,没找到原因,
解决方案 »
- 关于popen的问题
- .htaccess 可以不可以将静态的URL转到动态的?
- 用php导出excel数据
- linux VirtualHost 目录的简单问题,在线等
- 数据表同步问题
- apache和oracle的冲突问题
- “phpMyAdmin 高级功能未全部设置,部分功能不可用。要查出原因请点这里。”
- Call to undefined function bcompiler_write_header() 错误怎么解决?
- 请各位高手进来指点指点
- 请问谁有PHP读出内容并生成下拉菜单的函数???
- 现在网上的短网址算法碰撞机率太大,有没变长的方案?这样能杜绝碰撞不?
- jquery太大了,网站加载通常都要5秒。。
$t = join("','", explode(',', $r));
第一二字段间就这样,但第一字段前不需要加入这个连接串,所以造成最前面少了个引号乱码是你没搞清文件的编码,因为你显示出来是正确的,我也没法判断
1.注意源文件编码
2.注意有没有bom头
3.windows下用"rb"打开比较好
2、如果读出的数据是 gbk 的,那么在插入前执行一次 set names gbk 指令即可(假定你是mysql数据库)