Qt 读取txt文件乱码的解决办法

Qt 读取txt文本乱码问题

2015-05-20 15:46


方法一:使用QString的fromLocal8Bit()函数

复制代码

  1. QFile txtfile(filePath);             QString tmpStr;             if(txtfile.open(QIODevice::ReadOnly))             {                 QTextCodec::setCodecForLocale(QTextCodec::codecForName("gb2312"));//中文转码声明                 while(!txtfile.atEnd())                 {                     QByteArray arr = txtfile.readAll();                     arr.replace(0x0B,0x0D);                     tmpStr = QString::fromLocal8Bit(arr, arr.length());//Window下的QByteArray转QString                 }              }            item->tableWidget()->item(row-1,column-1)->setText(tmpStr);

//use it
方法二:用QTextCodec的toUnicode方法来显示中文(在程序中试验本方法不适合)    QTextCodec *codec = QTextCodec::codecForLocale();     QString a = codec->toUnicode("安师大手动");

时间: 2024-10-12 17:38:07

Qt 读取txt文件乱码的解决办法的相关文章

C. PHP读取TXT中文乱码的解决方法

PHP读取TXT中文乱码的解决方法 2013-03-01 19:12 2203人阅读 评论(0) 收藏 举报 //$fname文件名称 if ($fname = $_FILES['nickname']['tmp_name']) { //file_get_contents() 函数把整个文件读入一个字符串中. $contents = file_get_contents($fname); //获取文件的编码方式 $encoding = mb_detect_encoding($contents, ar

Sublime Text 3读取txt文件乱码

问题:新装的Sublime Text 3,读取以前建好的txt文件中文会乱码. 解决思路:需要将该txt字体格式修改成GBK格式. 解决方法: 1.使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码: import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.insta

Linux打开txt文件乱码的解决方法

Linux显示在Windows编辑过的中文就会显示乱码是由于两个操作系统使用的编码不同所致.Linux下使用的编码是utf8,而Windows使用的是gb18030.因此,解决Linux打开txt文件中文乱码可有如下两种方法. 方法一: 在附件终端中,进入到txt文件所在目录,使用命令符"iconv-f gb18030  -t utf8 1.txt -o 2.txt"把gb18030编码的1.txt转换成utf8的2.txt.这样2.txt就成为Linux支持的编码. 方法二: 在附件

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',

QTextStream 读取文件乱码的解决办法

通常都是编码转换的问题,注意如以下红字代码那样设置正确的编码 QFile _file(_f_path);    try{        if(_file.open(QIODevice::ReadOnly))        {            QTextStream _txt_stream(&_file);            _txt_stream.setCodec("UTF-8");//处理utf8中文            while(!_txt_stream.at

【转】vs2010打开qt的.pro文件时错误解决办法

注意:qt creator工程中一般都已经存在*.pro文件,里面存放着一些自己配置的包含头文件和lib库文的信息,最好不要再重新使用qmake -project生成,若重新生成,则可能要重新增加配置 1.命令行中,进入在工程的最顶层目录中,使用qmake -tp vc -r 命令,-r表示级联作用到子目录,此时在顶层目录中生成了*.sln文件,在子目录中生成了*.vcproj文件.(顶层目录中一般没有头文件和源文件,只有一个pro文件,用于管理其子目录中的工程) 2.进入VS2003,选择“F

PHP读取TXT中文乱码的解决方法

//$fname文件名称 if ($fname = $_FILES['nickname']['tmp_name']) { //file_get_contents() 函数把整个文件读入一个字符串中. $contents = file_get_contents($fname); //获取文件的编码方式 $encoding = mb_detect_encoding($contents, array('GB2312','GBK','UTF-16','UCS-2','UTF-8','BIG5','ASC

ubuntu12.04下txt文件乱码如何解决?

gedit中文文本乱码. 复制以下命令到终端中,然后回车即可: gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8','GB18030','GB2312','GBK','BIG5','CURRENT','UTF-16']"

关于读取txt文件中文乱码问题

在处理文件的过程中,读取txt文件出现中文乱码.这种情况是由于编码字符不一致导致. public static string ReadFile(string path, string fileName) { FileStream stream = null; StreamReader reader = null; StringBuilder v = new StringBuilder(); try { stream = new FileStream(path + fileName, FileMo