转载自:http://blog.163.com/seven_7_one/blog/static/162606412201032955449489/

QT中文乱码的解

2010-04-29 17:54:49|  分类: QT学习 |  标签: |字号大中小 订阅

[编程]

post by 雄关漫道 / 2010-3-25 5:38 Thursday

今晚使用QMessageBox出现中文乱码,参考网上相关文档解决问题。下面这篇文章是从网上搜索的,文中说QTextCodec::codecForName("GB2312")等代码可以保证在程序中直接使用中文而不出现乱码是欠全面的,比如,在Mac OS X 10.6.2中文版上,须使用QTextCodec::codecForName("UTF-8")才能保证中文不出现乱码。

QT国际化支持

Qt内部采用的全Unicode编码,这从根本上保证了多国语界面实现的正确性和便捷性。Qt本身提供的linguist工具,用来实现翻译过程十分方便。MFC中利用资源DLL切换资源,或使用多个RC文件进行不同语言版本编译等方法都十分麻烦,如果你曾经使用过MFC,QT解决多语言问题的便捷性绝对会让你感觉是一种享受。本文讨论以下几个方面内容:

1、  QT中解决中文乱码的方法;

2、  QT中实现国家化支持。

3、  对话框实现多语言

一、       中文乱码

1、  在程序中直接使用中文,需要在程序中加入以下代码:

view plain copy to clipboard print ?
  1. #include <QTextCodec>
  2. int main(int argc, char **argv)
  3. {
  4. QApplication app(argc, argv);
  5. QTextCodec *codec = QTextCodec::codecForName("GB2312");
  6. QTextCodec::setCodecForLocale(codec);
  7. QTextCodec::setCodecForCStrings(codec);
  8. QTextCodec::setCodecForTr(codec);
  9. …… ……
  10. return app.exec();
  11. }

这样在程序中使用tr(“中文”)或者直接使用“中文”了;

2、  解决读取ini文件中中文乱码

QSettings settings("xxxx.ini",QSettings::IniFormat);

settings.setIniCodec(QTextCodec::codecForName("GB2312")); settings.beginGroup("company");

3、  解决读取中文文件中文的乱码

view plain copy to clipboard print ?
  1. QFile file("xxxx.txt");
  2. QTextStream stream(file,QIODevice::ReadOnly);
  3. stream.setCodeC( QTextCodec::codecForName("GB2312") );
  4. stream.readAll();

二、       国际化支持

QT中实现多国语言,建议在程序中直接英文,而后通过不同的翻译文件实现多语言的支持。实现多国语的步骤有如下几步(提及的工具均为QT自带):

?  在需要被翻译的字符串前面加标识tr,如QString str = tr(“hello,world!”); 这很重要,因为翻译工具会把源码中tr标识的字符串提取出来,翻译成其他语言,如果没有用tr标识的,不会被工具提取。在界面中输入的文字,默认已经是加上tr的了,所以在翻译时也能看见。

?  在QT工程文件*.pro中增加一项:TRANSLATIONS += *.ts,扩展名为.ts是翻译的源文件。一般会在命名中把区域加进去,更好的注释这些文件是用于什么语言的,可以根据“语言_国家”的形式形成文件名。比如中命名为myapp_zh_CN.ts, zh表示简体中文,而CN表示的就是中华人名共和国。可以参照ISO语言与国家代码标准:http://blog.csdn.net/alicehyxx/archive/2009/12/06/4952318.aspx

?  使用lupdate工具提取翻译源文件,【运行】中输入CMD,打开命令行窗口,利用CD命令切换到QT安装目录的BIN目录中,而后输入:

lupdate *.pro

*.pro包含pro文件的全路径。lupdate会解析*.pro文件,生成TRANSLATIONS中的 *.ts 文件,这些文件可以被linguist工具打开,按照提示一个一个的翻译成需要的文件并保存。

?  重复以上两步!
(针对以上两步,VS2005中可以直接使用菜单【QT】à 【Create new translations File】创建,如果文件已经存在,可以通过图1.1菜单进行更新。)

图1.1 VS2005_lupdate

?  使用lrelease工具发布翻译文件的二进制文件,这样在程序运行时载入会大大的加快速度。在命令行窗口中继续输入:

lrelease *.ts

*.ts包含ts文件的全路径。这个工具会提示你多少语句被翻译,多少被忽略了等。生成的文件是*.qm,与同名的 *.ts只是换了一个扩展名。这个就是我们程序需要使用到的文件。

(VS2005中可以使用图1.1中的菜单lrelease来实现该步骤)

?  使用*.qm文件。程序可以通过两种方式加载翻译文件,一种硬编码方式,直接指定加载的语言,代码如下:

int main(int argc,char* argv[])

{

QApplication app(arcg,argv);

QTranslator translator;

translator.load(“basicdraw_zh_CN”);

app.installTranslator(&translator);

}

另外一种是自动判断翻译当前的locale,再装入相应的翻译文件,如下所示:

int main(int argc,char* argv[])

{

QApplication app(arcg,argv);

QString locale = QLocale::system().name();

QTranslator translator;

translator.load(QString(“basicdraw_”) + locale);

app.installTranslator(&translator);

}

其中QLocale::system().name()返回以“语言_国家”形式形成的字符串,比如zh_CN。

至于通过控件,比如ComboBox选择语言,并实现动态切换,以后再讨论。

三、       对话框实现多语言

在实际程序中实现多语言切换,需要生成的qm文件应该包含两个:

?  QT运行库相关的qm文件:在QT安装目录的translations目录下,存在需要*.ts文件,利用lrelease命令生成对应的qm文件。

?  利用“二”中的步骤生成程序本身需要的*.ts文件,并生成qm文件。

QApplication支持多个翻译文件,并根据后加入先使用的搜索顺序进行搜索。

具体代码如下:
main.cpp

view plain copy to clipboard print ?
  1. #include "stdafx.h"
  2. #include <QtGui/QApplication>
  3. #include <QtGui/QtGui>
  4. #include "DialogLogin.h"
  5. int main(int argc, char *argv[])
  6. {
  7. QApplication app(argc, argv);
  8. QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
  9. // 安装QT运行库翻译器
  10. QTranslator translatorQT;
  11. {
  12. QStringList environment = QProcess::systemEnvironment();
  13. QString str;
  14. bool bFinded = false;
  15. foreach(str, environment)
  16. {
  17. if(str.startsWith("QTDIR="))
  18. {
  19. bFinded = true;
  20. break;
  21. }
  22. }
  23. if(bFinded)
  24. {
  25. str = str.mid(6);
  26. bFinded = translatorQT.load("qt_" + QLocale::system().name(),str.append("/translations/"));
  27. if(bFinded)
  28. app.installTranslator(&translatorQT);
  29. else
  30. qDebug() <<QObject::tr("Can't find the translation file for Chinese!");
  31. }
  32. else
  33. {
  34. qDebug() << QObject::tr("Please set the environment variable QTDIR");
  35. }
  36. }
  37. // 安装程序自身翻译器
  38. QTranslator translatorApp;
  39. {
  40. QString strLanguageDir = QCoreApplication::applicationDirPath();
  41. strLanguageDir.append("/Language/");
  42. QString strFilePath = QApplication::applicationFilePath();
  43. QString strFileName = strFilePath.right(strFilePath.size() - strFilePath.lastIndexOf('/') - 1);
  44. strFileName = strFileName.left(strFileName.indexOf('.'));
  45. strFileName.append('_');
  46. strFileName.append(QLocale::system().name());
  47. bool bFinded = translatorApp.load(strFileName,strLanguageDir);
  48. if(bFinded)
  49. app.installTranslator(&translatorApp);
  50. else
  51. {
  52. qDebug() << QObject::tr("Can't Find The Translation's File For Chinese!");
  53. }
  54. }
  55. CDialogLogin dlg;
  56. return dlg.exec();
  57. }

DialogLogin.h

view plain copy to clipboard print ?
  1. #pragma once
  2. #include <QtGui/QDialog>
  3. class QLineEdit;
  4. class CDialogLogin : public QDialog
  5. {
  6. Q_OBJECT
  7. public:
  8. CDialogLogin(QWidget* parent = 0);
  9. ~CDialogLogin(void);
  10. public slots:
  11. virtual     void    accept();
  12. private:
  13. QLineEdit*  m_pUsrLineEdit;
  14. QLineEdit*  m_pPwdLineEdit;
  15. };

程序中使用了两个QTranslator对象,在app利用函数installTranslator()进行翻译器安装时,并没有拷贝qm文件,而是在需要的时候在qm文件中进行查找。也即是说:QTranslator在load以后,并没有把qm文件中的数据拷贝一份。如果qm在这期间被删除或修改,对程序都是有影响的。扩展开来,QTranslator必须保证要一直有效,如果在函数中定义的局部变量,函数结束后就自动释放掉了,那么翻译工作就不能正常进行。
DialogLogin.cpp

view plain copy to clipboard print ?
  1. #include "stdafx.h"
  2. #include "DialogLogin.h"
  3. #include <QtGui/QtGui>
  4. CDialogLogin::CDialogLogin(QWidget* parent/* = 0 */)
  5. : QDialog(parent)
  6. {
  7. QLabel* pUsrLabel = new QLabel(tr("User Name:"));
  8. QLabel* pPwdLabel = new QLabel(tr("Password:"));
  9. m_pUsrLineEdit = new QLineEdit();
  10. m_pPwdLineEdit = new QLineEdit();
  11. m_pPwdLineEdit->setEchoMode(QLineEdit::Password);
  12. QGridLayout* pGridLayout = new QGridLayout();
  13. pGridLayout->addWidget(pUsrLabel,0,0,1,1);
  14. pGridLayout->addWidget(m_pUsrLineEdit,0,1,1,3);
  15. pGridLayout->addWidget(pPwdLabel,1,0,1,1);
  16. pGridLayout->addWidget(m_pPwdLineEdit,1,1,1,3);
  17. pGridLayout->setSpacing(25);
  18. QPushButton* pBtnOK = new QPushButton(tr("Login"));
  19. QPushButton* pBtnCancel = new QPushButton(tr("Cancel"));
  20. QHBoxLayout* pBtnLayout = new QHBoxLayout();
  21. pBtnLayout->setSpacing(60);
  22. pBtnLayout->addWidget(pBtnOK);
  23. pBtnLayout->addWidget(pBtnCancel);
  24. QVBoxLayout* pDlgLayout = new QVBoxLayout();
  25. pDlgLayout->setMargin(30);
  26. pDlgLayout->addLayout(pGridLayout);
  27. pDlgLayout->addStretch(40);
  28. pDlgLayout->addLayout(pBtnLayout);
  29. pDlgLayout->setSpacing(40);
  30. setLayout(pDlgLayout);
  31. connect(pBtnOK,SIGNAL(clicked()),this,SLOT(accept()));
  32. connect(pBtnCancel,SIGNAL(clicked()),this,SLOT(reject()));
  33. setWindowTitle(tr("Login"));
  34. resize(300,200);
  35. }
  36. CDialogLogin::~CDialogLogin(void)
  37. {
  38. }
  39. void CDialogLogin::accept()
  40. {
  41. if(m_pUsrLineEdit->text().trimmed() == tr("lcf") && m_pPwdLineEdit->text().trimmed() == tr("lcf"))
  42. {
  43. QDialog::accept();
  44. }
  45. else
  46. {
  47. QMessageBox::warning(this,tr("Warning"),tr("User Name or Password is wrong!"),QMessageBox::Yes);
  48. m_pUsrLineEdit->setFocus();
  49. }
  50. }

其中英文界面如图:

图1.2 英文界面


中文界面如图:

图1.3 中文界面

? (转)做网站需要盈利,开源比节流更重要 | 关于QT的vtable编译错误?

引用地址:

评论:

[转]在Linux上安装OpenCV
qt开发入门

QT中文乱码的解

2010-04-29 17:54:49|  分类: QT学习 |  标签: |字号大中小 订阅

[编程]

post by 雄关漫道 / 2010-3-25 5:38 Thursday

今晚使用QMessageBox出现中文乱码,参考网上相关文档解决问题。下面这篇文章是从网上搜索的,文中说QTextCodec::codecForName("GB2312")等代码可以保证在程序中直接使用中文而不出现乱码是欠全面的,比如,在Mac OS X 10.6.2中文版上,须使用QTextCodec::codecForName("UTF-8")才能保证中文不出现乱码。

QT国际化支持

Qt内部采用的全Unicode编码,这从根本上保证了多国语界面实现的正确性和便捷性。Qt本身提供的linguist工具,用来实现翻译过程十分方便。MFC中利用资源DLL切换资源,或使用多个RC文件进行不同语言版本编译等方法都十分麻烦,如果你曾经使用过MFC,QT解决多语言问题的便捷性绝对会让你感觉是一种享受。本文讨论以下几个方面内容:

1、  QT中解决中文乱码的方法;

2、  QT中实现国家化支持。

3、  对话框实现多语言

一、       中文乱码

1、  在程序中直接使用中文,需要在程序中加入以下代码:

view plain copy to clipboard print ?
  1. #include <QTextCodec>
  2. int main(int argc, char **argv)
  3. {
  4. QApplication app(argc, argv);
  5. QTextCodec *codec = QTextCodec::codecForName("GB2312");
  6. QTextCodec::setCodecForLocale(codec);
  7. QTextCodec::setCodecForCStrings(codec);
  8. QTextCodec::setCodecForTr(codec);
  9. …… ……
  10. return app.exec();
  11. }

这样在程序中使用tr(“中文”)或者直接使用“中文”了;

2、  解决读取ini文件中中文乱码

QSettings settings("xxxx.ini",QSettings::IniFormat);

settings.setIniCodec(QTextCodec::codecForName("GB2312")); settings.beginGroup("company");

3、  解决读取中文文件中文的乱码

view plain copy to clipboard print ?
  1. QFile file("xxxx.txt");
  2. QTextStream stream(file,QIODevice::ReadOnly);
  3. stream.setCodeC( QTextCodec::codecForName("GB2312") );
  4. stream.readAll();

二、       国际化支持

QT中实现多国语言,建议在程序中直接英文,而后通过不同的翻译文件实现多语言的支持。实现多国语的步骤有如下几步(提及的工具均为QT自带):

?  在需要被翻译的字符串前面加标识tr,如QString str = tr(“hello,world!”); 这很重要,因为翻译工具会把源码中tr标识的字符串提取出来,翻译成其他语言,如果没有用tr标识的,不会被工具提取。在界面中输入的文字,默认已经是加上tr的了,所以在翻译时也能看见。

?  在QT工程文件*.pro中增加一项:TRANSLATIONS += *.ts,扩展名为.ts是翻译的源文件。一般会在命名中把区域加进去,更好的注释这些文件是用于什么语言的,可以根据“语言_国家”的形式形成文件名。比如中命名为myapp_zh_CN.ts, zh表示简体中文,而CN表示的就是中华人名共和国。可以参照ISO语言与国家代码标准:http://blog.csdn.net/alicehyxx/archive/2009/12/06/4952318.aspx

?  使用lupdate工具提取翻译源文件,【运行】中输入CMD,打开命令行窗口,利用CD命令切换到QT安装目录的BIN目录中,而后输入:

lupdate *.pro

*.pro包含pro文件的全路径。lupdate会解析*.pro文件,生成TRANSLATIONS中的 *.ts 文件,这些文件可以被linguist工具打开,按照提示一个一个的翻译成需要的文件并保存。

?  重复以上两步!
(针对以上两步,VS2005中可以直接使用菜单【QT】à 【Create new translations File】创建,如果文件已经存在,可以通过图1.1菜单进行更新。)

图1.1 VS2005_lupdate

?  使用lrelease工具发布翻译文件的二进制文件,这样在程序运行时载入会大大的加快速度。在命令行窗口中继续输入:

lrelease *.ts

*.ts包含ts文件的全路径。这个工具会提示你多少语句被翻译,多少被忽略了等。生成的文件是*.qm,与同名的 *.ts只是换了一个扩展名。这个就是我们程序需要使用到的文件。

(VS2005中可以使用图1.1中的菜单lrelease来实现该步骤)

?  使用*.qm文件。程序可以通过两种方式加载翻译文件,一种硬编码方式,直接指定加载的语言,代码如下:

int main(int argc,char* argv[])

{

QApplication app(arcg,argv);

QTranslator translator;

translator.load(“basicdraw_zh_CN”);

app.installTranslator(&translator);

}

另外一种是自动判断翻译当前的locale,再装入相应的翻译文件,如下所示:

int main(int argc,char* argv[])

{

QApplication app(arcg,argv);

QString locale = QLocale::system().name();

QTranslator translator;

translator.load(QString(“basicdraw_”) + locale);

app.installTranslator(&translator);

}

其中QLocale::system().name()返回以“语言_国家”形式形成的字符串,比如zh_CN。

至于通过控件,比如ComboBox选择语言,并实现动态切换,以后再讨论。

三、       对话框实现多语言

在实际程序中实现多语言切换,需要生成的qm文件应该包含两个:

?  QT运行库相关的qm文件:在QT安装目录的translations目录下,存在需要*.ts文件,利用lrelease命令生成对应的qm文件。

?  利用“二”中的步骤生成程序本身需要的*.ts文件,并生成qm文件。

QApplication支持多个翻译文件,并根据后加入先使用的搜索顺序进行搜索。

具体代码如下:
main.cpp

view plain copy to clipboard print ?
  1. #include "stdafx.h"
  2. #include <QtGui/QApplication>
  3. #include <QtGui/QtGui>
  4. #include "DialogLogin.h"
  5. int main(int argc, char *argv[])
  6. {
  7. QApplication app(argc, argv);
  8. QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
  9. // 安装QT运行库翻译器
  10. QTranslator translatorQT;
  11. {
  12. QStringList environment = QProcess::systemEnvironment();
  13. QString str;
  14. bool bFinded = false;
  15. foreach(str, environment)
  16. {
  17. if(str.startsWith("QTDIR="))
  18. {
  19. bFinded = true;
  20. break;
  21. }
  22. }
  23. if(bFinded)
  24. {
  25. str = str.mid(6);
  26. bFinded = translatorQT.load("qt_" + QLocale::system().name(),str.append("/translations/"));
  27. if(bFinded)
  28. app.installTranslator(&translatorQT);
  29. else
  30. qDebug() <<QObject::tr("Can't find the translation file for Chinese!");
  31. }
  32. else
  33. {
  34. qDebug() << QObject::tr("Please set the environment variable QTDIR");
  35. }
  36. }
  37. // 安装程序自身翻译器
  38. QTranslator translatorApp;
  39. {
  40. QString strLanguageDir = QCoreApplication::applicationDirPath();
  41. strLanguageDir.append("/Language/");
  42. QString strFilePath = QApplication::applicationFilePath();
  43. QString strFileName = strFilePath.right(strFilePath.size() - strFilePath.lastIndexOf('/') - 1);
  44. strFileName = strFileName.left(strFileName.indexOf('.'));
  45. strFileName.append('_');
  46. strFileName.append(QLocale::system().name());
  47. bool bFinded = translatorApp.load(strFileName,strLanguageDir);
  48. if(bFinded)
  49. app.installTranslator(&translatorApp);
  50. else
  51. {
  52. qDebug() << QObject::tr("Can't Find The Translation's File For Chinese!");
  53. }
  54. }
  55. CDialogLogin dlg;
  56. return dlg.exec();
  57. }

DialogLogin.h

view plain copy to clipboard print ?
  1. #pragma once
  2. #include <QtGui/QDialog>
  3. class QLineEdit;
  4. class CDialogLogin : public QDialog
  5. {
  6. Q_OBJECT
  7. public:
  8. CDialogLogin(QWidget* parent = 0);
  9. ~CDialogLogin(void);
  10. public slots:
  11. virtual     void    accept();
  12. private:
  13. QLineEdit*  m_pUsrLineEdit;
  14. QLineEdit*  m_pPwdLineEdit;
  15. };

程序中使用了两个QTranslator对象,在app利用函数installTranslator()进行翻译器安装时,并没有拷贝qm文件,而是在需要的时候在qm文件中进行查找。也即是说:QTranslator在load以后,并没有把qm文件中的数据拷贝一份。如果qm在这期间被删除或修改,对程序都是有影响的。扩展开来,QTranslator必须保证要一直有效,如果在函数中定义的局部变量,函数结束后就自动释放掉了,那么翻译工作就不能正常进行。
DialogLogin.cpp

view plain copy to clipboard print ?
  1. #include "stdafx.h"
  2. #include "DialogLogin.h"
  3. #include <QtGui/QtGui>
  4. CDialogLogin::CDialogLogin(QWidget* parent/* = 0 */)
  5. : QDialog(parent)
  6. {
  7. QLabel* pUsrLabel = new QLabel(tr("User Name:"));
  8. QLabel* pPwdLabel = new QLabel(tr("Password:"));
  9. m_pUsrLineEdit = new QLineEdit();
  10. m_pPwdLineEdit = new QLineEdit();
  11. m_pPwdLineEdit->setEchoMode(QLineEdit::Password);
  12. QGridLayout* pGridLayout = new QGridLayout();
  13. pGridLayout->addWidget(pUsrLabel,0,0,1,1);
  14. pGridLayout->addWidget(m_pUsrLineEdit,0,1,1,3);
  15. pGridLayout->addWidget(pPwdLabel,1,0,1,1);
  16. pGridLayout->addWidget(m_pPwdLineEdit,1,1,1,3);
  17. pGridLayout->setSpacing(25);
  18. QPushButton* pBtnOK = new QPushButton(tr("Login"));
  19. QPushButton* pBtnCancel = new QPushButton(tr("Cancel"));
  20. QHBoxLayout* pBtnLayout = new QHBoxLayout();
  21. pBtnLayout->setSpacing(60);
  22. pBtnLayout->addWidget(pBtnOK);
  23. pBtnLayout->addWidget(pBtnCancel);
  24. QVBoxLayout* pDlgLayout = new QVBoxLayout();
  25. pDlgLayout->setMargin(30);
  26. pDlgLayout->addLayout(pGridLayout);
  27. pDlgLayout->addStretch(40);
  28. pDlgLayout->addLayout(pBtnLayout);
  29. pDlgLayout->setSpacing(40);
  30. setLayout(pDlgLayout);
  31. connect(pBtnOK,SIGNAL(clicked()),this,SLOT(accept()));
  32. connect(pBtnCancel,SIGNAL(clicked()),this,SLOT(reject()));
  33. setWindowTitle(tr("Login"));
  34. resize(300,200);
  35. }
  36. CDialogLogin::~CDialogLogin(void)
  37. {
  38. }
  39. void CDialogLogin::accept()
  40. {
  41. if(m_pUsrLineEdit->text().trimmed() == tr("lcf") && m_pPwdLineEdit->text().trimmed() == tr("lcf"))
  42. {
  43. QDialog::accept();
  44. }
  45. else
  46. {
  47. QMessageBox::warning(this,tr("Warning"),tr("User Name or Password is wrong!"),QMessageBox::Yes);
  48. m_pUsrLineEdit->setFocus();
  49. }
  50. }

其中英文界面如图:

图1.2 英文界面


中文界面如图:

图1.3 中文界面

? (转)做网站需要盈利,开源比节流更重要 | 关于QT的vtable编译错误?

引用地址:

评论:

卡卡

约 18 小时前
QTextCodec *codec = QTextCodec::codecForName("GB2312");
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForTr(codec);

if(n==0)
        m_ui->label->setText(tr("<h1>黑方赢了!</h1>"));
    if(n==1)
        m_ui->label->setText(tr("<h1>白方赢了!</h1>"));

这程序在我电脑上显示正常,但在被人电脑上出现乱码,请问这是怎么回事啊?

博主回复:最可能的原因是,你的电脑上的本地字符集采用的是GB2312,而别人的电脑上采用的是别的字符集,例如UTF-8。你的代码中QTextCodec *codec = QTextCodec::codecForName("GB2312");
一句决定了在字符集为GB2312的电脑上能够正常显示,而在字符集为UTF-8的电脑上显示为乱码

QT中文乱码解决方法2相关推荐

  1. 【转】QT中使用MYSQL中文乱码解决方法

    [转]QT中使用MYSQL中文乱码解决方法 Linux下乱码解决办法: 1.在QT程序的main.cpp的main函数中添加红色字那三句: int main(int argc, char *argv[ ...

  2. QT中文乱码解决思路和方法汇总

    QT中文乱码解决思路和方法 中文编码一律使用QString::fromLocal8Bit()接口,原因是为了支持QT4版本.QStringLiteral()方法也可以使用,它是支持QT5版本的: CP ...

  3. vs code中文乱码解决方法

    修改 1.(安装方法) 2.显示终端输入数据输出结果(完美解决) 3.修改部分:中文乱码解决方法 第一步: 第二步: 1.(安装方法) 转载于: https:blog.csdn.net/qq_4304 ...

  4. Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法

    Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法如下: 1.打开"gFTP-FTP-属性-常规-远程字符集": 2.将远程字符集设置为:gb2312,gbk ...

  5. python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 参考文章: (1)python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) (2)https://www.cnblog ...

  6. Sublime Text 3中文乱码解决方法以及安装包管理器方法

    Sublime Text 3中文乱码解决方法以及安装包管理器方法 参考文章: (1)Sublime Text 3中文乱码解决方法以及安装包管理器方法 (2)https://www.cnblogs.co ...

  7. axios请求GBK页面中文乱码解决方法

    axios请求GBK页面中文乱码解决方法 参考文章: (1)axios请求GBK页面中文乱码解决方法 (2)https://www.cnblogs.com/bjhl/articles/10514038 ...

  8. charles抓包工具的中文乱码解决方法

    charles抓包工具的中文乱码解决方法 参考文章: (1)charles抓包工具的中文乱码解决方法 (2)https://www.cnblogs.com/grimm/p/7494688.html 备 ...

  9. jquery的ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍 参考文章: (1)jquery的ajax()函数传值中文乱码解决方法介绍 (2)https://www.cnblogs.com/xuxiaosh ...

最新文章

  1. android 轮播 getWith,NavigationTermSet.GetWithNewView 方法
  2. 黑马程序员pink老师前端入门教程,零基础必看的JavaScript基础语法视频教程(二)
  3. 解决Geoserver请求跨域的几种思路
  4. Python 标准类库-Windows特殊服务之msvcrt
  5. efishell无法开机shell_开机出现efi shell卡住不动了解决方法全集
  6. mybatis自己学习的一些总结
  7. C++ 自定义string类 重载相关运算符
  8. hadoop--HDFS_NameNode和SecondaryNameNode工作机制
  9. python中for循环-python中关于for循环的碎碎念
  10. k310.4安装客户端提示self-registration error
  11. cuda和cudnn各版本下载地址
  12. Java取邮箱名_邮件开发 中的邮箱地址提取!
  13. baidumap vue 判断范围_vue-baidu-map 行政区域划分
  14. el-descriptions
  15. python 大小写字母怎么用数字表示_python判断字符串是字母 数字 大小写(转载)...
  16. 【百度云破解】Aria2GUI使用教程
  17. 软件工程概论期末复习笔记
  18. 实战 Vue 之配置多页面应用
  19. 从win10(1909)中彻底卸载智能云输入法
  20. VMware14 虚拟机装win10 系统出现 BootManager

热门文章

  1. FEDAY2018游记
  2. 在多媒体计算机系统中,不能用以存储多媒体信息的是【 】.,在多媒体计算机系统中,不能用以存储多媒体信息的是______。...
  3. 用python实现网络查重(python爬取网页文字[网页结构不一致;网页编码格式];txt文本分割;chrome驱动;python计算文章余弦相似度)
  4. JDBC连接Mysql数据库过程之代码实战【一条命途多舛的SQL】
  5. 学生DW静态网页设计——代码质量好-家乡广州 (5页) HTML+CSS+JavaScript web网页制作期末大作业
  6. 实验室LIMS系统值多少钱?实验室到底该不该上LIMS软件?
  7. 无人值守安装linux指定硬盘,Linux无人值守自动化安装详细配置流程!
  8. asp.net core 对接拼多多(多多进宝)
  9. OLTP, OLAP, 即席查询(ad hoc query)区别与联系
  10. PTP授时服务器技术详解让你从小白到砖家