文档章节

CSV中微信名字乱码 问题

大灰狼wow
 大灰狼wow
发布于 2016/11/28 18:12
字数 383
阅读 73
收藏 0

今天做项目时,导出为csv文件格式,然后其中有一列为微信昵称,结果转码后发现 整条数据都没有了。

我用的第二种方法

$str = '□测试,测试!123□';
$charset = 'utf8';
$regex = '/
    (
        (?: [\x00-\x7F]                  # single-byte sequences   0xxxxxxx
        |   [\xC2-\xDF][\x80-\xBF]       # double-byte sequences   110xxxxx 10xxxxxx
        |   \xE0[\xA0-\xBF][\x80-\xBF]   # triple-byte sequences   1110xxxx 10xxxxxx * 2
        |   [\xE1-\xEC][\x80-\xBF]{2}
        |   \xED[\x80-\x9F][\x80-\xBF]
        |   [\xEE-\xEF][\x80-\xBF]{2}';
 
if ( 'utf8mb4' === $charset ) {
    $regex .= '
        |    \xF0[\x90-\xBF][\x80-\xBF]{2} # four-byte sequences   11110xxx 10xxxxxx * 3
        |    [\xF1-\xF3][\x80-\xBF]{3}
        |    \xF4[\x80-\x8F][\x80-\xBF]{2}
    ';
}
 
$regex .= '){1,40}                          # ...one or more times
    )
    | .                                  # anything else
    /x';
$str1 = preg_replace( $regex, '$1', $str );
var_dump($str1);
 
//另一种解决方法
$str1 = preg_replace('/[\x{10000}-\x{10FFFF}]/u', '', $str);
var_dump($str1);

下方赠送CSV输出

 header("Content-type:application/vnd.ms-excel;");
 $file = $name.date("md", time());
 header("Content-Disposition:filename=$file.csv");

原文: 最近做开发 发现,有些字符不能存进mysql,后来百度后,得出的结论是,mysql的utf8编码并不是真正完整的utf8,在mysql新版本里选择utf8mb4这才是完整的utf8编码。 手机上有些图标比如: Emoji表情图标 在mysql里面需要选择utf8mb4才能存储和显示,网上大部分用mysql存Emoji表情相关的解决办法是 把mysql的字符集改为 utf8mb4,但是 最近有个需求就是截取掉对于mysql的utf8mb4的字符集。想了几天,突然想在wordpress看代码,结果 果然找到,分享之。此方案为过滤掉 utf8mb4 的字符

我这里的mysql本来就不支持utf8mb4的,所以就这样基本上看不到效果….

© 著作权归作者所有

大灰狼wow
粉丝 48
博文 396
码字总数 49161
作品 1
嘉兴
程序员
私信 提问
魏辰 2016-06-22 工作日报

1.完成整理posApp的csv导出乱码问题汇总; 2.修改posApp的csv导出乱码问题;

weichen1988
2016/06/22
4
0
下载文件的文件名出现乱码问题

我在程序中实现了一个下载功能,2天前都是好好的,马上要给客户测试了,今天我再测试一下,发现 在下载功能中 点击下载后,下载下来的文件的文件名是乱码了,我原来下载后的文件名是:通讯录...

叶知秋
2012/05/17
3.1K
10
csv文件的中文如何正确在python中显示

运行环境:osx 10,python2.7 有一个csv文件,里面有中文,使用open打开,程序开始之前写了 # -*- coding: cp936 -*- import sys #reload(sys) #sys.setdefaultencoding('utf8') #encoding=......

跳蚤侠Alice
2016/01/06
7.3K
2
求教csv导出乱码问题

@绝望的八皮 你好,想跟你请教个问题: 我在现实开发中,在前端导出了 csv,在 windows 下不会有乱码的问题,可是在 mac 下,用 micro excel 打开就有乱码的问题。 我想请教下,这个问题应该...

hongxiyu
2015/07/23
163
1
blob 导出csv 用execl打开出现乱码

解决方式,在传入blob的字符前加”uFEFF”;,具体代码如下 ExcellentExport.js的方法,利用base64下载文件。支持chrome ,opera,firefox. 于是决定拿来为我所用! 说明一下,这个js的好处是:...

黑魔法
2016/12/07
2K
0

没有更多内容

加载失败,请刷新页面

加载更多

总结:ElasticSearch查询

环境:ES2.3.2 地址:xxx:9200 注意动词使用:GET,POST,PUT,DELETE ElasticSearch PK Mysql 我的告警页面,查询条件会status='OK',isalarm=1,时间范围在:2019-03-01 13:45:41 到 2019......

浮躁的码农
20分钟前
3
0
简单的Cloud Toolkit教程,助你秒部署应用程序

1.什么是Cloud Toolkit Cloud Toolkit 是开发者本地 IDE 中的一款插件,可以帮助开发者更高效地开发、测试、诊断并部署应用。通过这个插件,可以==将本地应用一键部署到任意服务器==,甚至部...

small-bug
25分钟前
8
0
Linux系统产生随机数方法

系统环境变量($RANDOM) 范围:0~32767 加密:md5sum 加盐:stu echo $RANDOM echo $RANDOM |md5sum echo "stu$RANDOM" |md5sum |cut -c 8-15 openssl openssl rand -base64 8 时间......

Mustbecool
28分钟前
3
0
【2019年8月】OCP 071认证考试最新版本的考试原题-第14题

Choose two. Examine this SQL statement: UPDATE orders o SET customer_name = (SELECT cust_last_name FROM customers WHERE customer_id=o.customer_id); Which two are true? A) The su......

oschina_5359
36分钟前
2
0
功能测试与非功能测试

根据一份报告,应用程序崩溃导致71%的卸载。迫使用户卸载应用程序的其他原因是页面响应时间,混乱的UI,电池消耗等。这表明功能测试和非功能测试对于交付用户友好型应用程序的重要性。因此,...

八音弦
37分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部