execl打开linux下cvs文件乱码问题解决办法

好久没写过文章了,今天遇到一个execl打开linux下cvs文件乱码的问题顺便记录下问题的解决办法。很多时候需要写一些脚本定时导出sql报表,导出的文件直接用execl打不开或者打开有中文乱码。如下两步便能解决:

一、处理格式问题
tab键或空格转换为逗号
shell脚本中tab键转换为空格
sed -i "s/\t/,/g" table.csv

二、编码转换
UTF-8转换GBK
iconv -f TUF-8 -t GBK table.csv -o newtable.csv

就这么简单,各自环境不同,格式转换和编码转换也不同。但知道原理就可以了,csv文件默认是以逗号分隔,默认是UTF-8编码,如果文件中含有中文就需要对应的中文编码支持。

原文地址:http://blog.51cto.com/4476361/2146861

时间: 2024-11-08 20:06:29

execl打开linux下cvs文件乱码问题解决办法的相关文章

windows和linux下读取文件乱码的终极解决办法!

乱码是个很恶心的问题. windows和linux读取txt文件,一旦读取了,编码发生改变,就无法再还原了,只有重启项目. 网上有很多方法都是读取文件头,方法很好,但是亲测都不能用(右移8位判断0xff的,取3个字节的-1,-2的,大体上网上最多就这两种). 后来偶然发现一个方法,CharsetPrinter. 这个方法需要引入jar包,非常好用. public static String guessEncoding(String filename) { try { CharsetPrinter

libreoffice转换文件为pdf文件乱码问题解决办法

最近系统需要一个office文件预览功能 解决方案为使用libreoffice将office文件转换为pdf文件,然后使用swftools将pdf文件转换为swf文件 最后在前台使用flexpaper浏览swf文件,即可实现预览 环境搭建完成,转换也没有问题,但是预览效果看到所有中文全部为乱码 下载转换后的pdf文件也是乱码,由此可见时libreoffice转换这一步出现了问题 服务器转换文件乱码主要是由于没有中文字体导致的,我在ubuntu desktop系统下使用libreoffice打开o

myeclipse下java文件乱码问题解决

中文乱码是因为编码格式不一致导致的.1.进入Eclipse,导入一个项目工程,如果项目文件的编码与你的工具编码不一致,将会造成乱码.2.如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码.3.修改默认编码:在菜单导航栏上Window-->Preferences 打开"首选项"对话框,左侧导航树,导航到 General-->Workspace.Windows 7平台默认为GBK,简体中文操作系统Windows XP.

Ubuntu---gedit 打开windows 下 .txt 文件乱码的解决方法

问题出现情况:在windows 下编辑的 .txt 文件复制到 Ubuntu 下打开,默认打开方式为 gedit 软件打开,出现如下乱码: 出现原因:在 windows 系统下,.txt 文件默认编码方式为  gb18030 格式的中文编码,而 gedit 默认的编码方式为 UTF-8 解决方式1:在终端直接输入下面命令即可(未尝试) gsettings set org.gnome.gedit.preferences.encodings candidate-encodings "['UTF8',

linux 下vim文件乱码 cat文件正常处理方法

服务器支持中文字符集,cat和其他查看文件命令现在正常,vim还是出现了中文乱码问题, 1.查看文件编码格式 vim 文件 :set fileencoding 发现文件编码是拉丁 2.处理方法一(单文件编码转换) 此时文件格式编码转换为utf-8了,现在正常 3.处理方法二(vim配置文件修改) vim /etc/vimrc 强制使用以上编码格式打开文件,一劳永逸

linux下jetty中文乱码问题解决

参考资料 http://stackoverflow.com/questions/4214111/jetty-character-encoding-issue 在startup.sh中,第一行加入 export LANG=en_US.UTF-8

修改Linux下的文件以及文件夹的权限

如何在Linux中管理文件和文件夹的权限? 2014-02-12 10:58 布加迪编译 51CTO 字号:T | T Linux系统有严格的权限管理制度,操作者权限与文件权限不匹配时将无法对文件进行任何操作.对许多Linux用户来说,习惯于文件的权限和所有权可能有点难度.本文从命令行开始入手,教您在Linux中管理文件和文件夹权限的方法. AD:51CTO学院:IT精品课程在线看! [51CTO精选译文]对许多Linux用户来说,习惯于文件的权限和所有权可能有点难度.人们通常认为,想进入到这种

linux下遍历文件夹---opendir等用法

首先要说肯定是头文件,#include <sys/types.h>   #include <dirent.h> linux下遍历文件夹需要用到以下几个函数,其中有三个是必须的,其它几个是可选的. DIR* opendir(const char * name);   失败返回NULL.成功返回DIR结构体.注意DIR前面没有struct,如果加上编译器会warning struct dirent *readdir(struct DIR* dir);   失败返回NULL. void

linux下的文件IO缓冲区,及其相关操作

linux下的文件IO操作 浅谈文件IO缓冲 Read()和write()函数在操作磁盘文件时不会直接发起磁盘访问,而是仅仅在用户空间缓冲区与内核缓冲区高速缓存之间复制数据. 当调用write()函数的写入3个字节的时候,由于系统调用与磁盘操作并不同步,在write()函数结束后续某个时刻,内核才会将其缓冲区中的数据写入磁盘.如果在此期间,另一个进程试图读取该文件的这几个字节,那么内核将自动从缓冲区高速缓存中提供这些数据,而不是文件中. 与此同理,对输入而言,内核从磁盘中读取数据并存储到内核缓冲