Matlab代码在Windows与Linux之间拷贝变乱码问题!
2018-02-09 20:28
3075 查看
问题:
在Windows下用matlab写的代码(.m)文件复制到Linux(Ubuntu)下,注释的中文全是乱码反之,也是一样
原因:
Windows下默认使用的是GB2312编码,Linux默认使用的是UTF-8。 所以在Windows下产生的代码是GB2312编码,在Linux下当然识别为乱码 ; 反之,同理乱码 。解决方法:
使用linux下的iconv命令改变文件的编码:
test1.m由GB2312转换成UTF-8(windows下matlab的代码在linux下运行)
iconv -f GB2312 -t UTF-8 test1.m -o test1.m
test2.m由UTF-8转换成GB2312(linux下matlab的代码在windows下运行)
iconv -f UTF-8 -t GB2312 test2.m -o test2.m
如果文件过多,要进行批处理,可用如下编写的shell脚本批量转换编码。(脚本来自linux公社,点击我立刻下载)
使用方法: 将该脚本放在需要进行转换的文件夹中, 执行脚本,可以将当前目录和其子目录下的所有文件转换成指定的编码方法 。
执行如下:
由GB2312转换成UTF-8
./convertMatlab.sh win
由UTF-8转换成GB2312
./convertMatlab.sh linux
提示: 普通用户没有执行权限,需要用
chmod +x convertMatlab.sh增加执行权限
附:Shell脚本(convertMatlab.sh)
#!/bin/bash # 功能:将GB2312文件 转换成 UTF-8【解决Windows文件复制到Linux之后乱码问题】 #read -p "Input Path:" SPATH SPATH="." #echo $SPATH POSTFIX="m" param1="$1" if [ "$param1" == "win" ];then sys1="Linux" sys2="Windows" format1="UTF-8" format2="GB2312" elif [ "$param1" == "linux" ];then sys1="Windows" sys2="Linux" format1="GB2312" format2="UTF-8" else echo "************** 功能 ************" echo " 解决matlab脚本文件在Windows和Linux中移动时出现的乱码问题!" echo " 将该脚本复制到程序文件夹中,运行该脚本,它会对当前文件夹及子文件夹中的所有*.m文件进行格式转换,解决乱码问题。" echo " 转换到 Linux 的命令: $0 linux" echo " 转换到 Window的命令: $0 win" exit fi echo "********************************" echo " 格式转换中......" echo " 从"$sys1"("$format1") 转换到 "$sys2"("$format2")" echo "********************************" FILELIST(){ filelist=`ls $SPATH ` for filename in $filelist; do if [ -f $filename ];then #echo File:$filename #echo "${filename#*.}" EXTENSION="${filename#*.}" #echo $EXTENSION if [ "$EXTENSION" == "$POSTFIX" ];then #echo "${filename%%.*}" echo Processing: $filename iconv -f $format1 -t $format2 $filename -o $filename #iconv -f GB2312 -t UTF-8 $filename -o $filename fi elif [ -d $filename ];then cd $filename SPATH=`pwd` #echo $SPATH FILELIST cd .. else echo "$SPATH/$filename is not a common file." fi done } cd $SPATH FILELIST echo "======== Convert Done. ========"
相关文章推荐
- 服务器维护系列——Matlab代码从Windows拷贝到Linux变成乱码
- Matlab代码从Windows拷贝到Linux变成乱码(亲测有效)
- Matlab代码从Windows拷贝到Linux变成乱码
- Vim学习笔记(二) - linux与windows之间文件乱码问题
- [精编]关于windows和linux之间文件互拷乱码的问题
- 从window拷贝代码到ubuntu(linux)乱码问题解决
- windows下Qt代码移植到linux下的中文乱码问题解决
- windows转linux常见乱码问题解决总汇
- 几个 Windows 到 Linux 的代码移植问题
- Linux与Windows的文本文件格式转换,解决中文乱码和换行问题
- windows与linux通信的中文乱码问题
- linux和windows双系统互拷文件乱码问题
- windows下的txt文件传到Linux下中文乱码问题
- 拷贝代码后中文出现乱码问题
- windows下的txt文件传到Linux下中文乱码问题
- 崩溃,source Insight显示linux代码中文注释乱码问题,以及很傻很天真的解决方法
- 解决linux下挂载windows的FAT32格式文件系统乱码问题
- 解决在linux下用eclipse打开windows文本文件产生中文乱码的问题
- 【原】Linux 与 Windows 通讯中的乱码问题: UTF-8 转 GB2312
- 解决Linux下挂载Windows分区中文乱码问题