Windows下JetBrains CLion中文输出乱码的解决方法

JetBrains公司推出的 C/C++ IDE CLion,在编写代码时效率非常高,相信以后也会成为开发C/C++项目的首选。

CLion输出中文时,都会产生乱码,不过也有解决办法,示例代码如下:

#include <iostream>

using namespace std;

int main() {
std::cout << “Hello, World!” << std::endl;
cout << “速度嘎是的反垃圾开始都看过是对方感觉啊” << endl;
return 0;
}

输出效果:

C:\Users\Administrator\CLionProjects\untitled\cmake-build-debug\untitled.exe
Hello, World!
閫熷害鍢庢槸鐨勫弽鍨冨溇寮€濮嬮兘鐪嬭繃鏄鏂规劅瑙夊晩

Process finished with exit code 0

解决方法:

File->Setting->Editor->File Encodings

QQ截图20190428152912

 

代码文档要转成GBK,然后就可以了。

 

QQ截图20190428152933

csv文件上传中文编码乱码的解决方法

下面是上传文件的截图:

QQ截图20180814094435

1.文件是以GB2312作为编号,当上传至服务端后,编码依然是GB2312。所以一开始我尝试以GB2312编码进行转码,但是结果是失败的。

2.后来想到了写出文件的时候进行转码,成功把文件转成了UTF-8,但是会出现其他的bug,比如数字“1”会变成“1              ”。也就是多了很多空格,所以也失败了。

3.最后想到了,分割字符串,组装成对象那块,开始依然尝试使用GB2312、GBK、UTF-8依然失败,最后使用编码:ISO-8859-1 成功了。

下面是代码片段:

@Override
public Object readLineMap(String line) throws IllegalServiceException {
    if (line.contains(",")) {
        String xline = null;
        try {
            xline = new String(line.getBytes("ISO-8859-1"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        logger(xline);
        String[] strings = xline.split(",");


        ...........................

Linux系统可能需要这样子:

xline = new String(line.getBytes("ISO-8859-1"),"GB2312");
 
Copyright © 2008-2021 lanxinbase.com Rights Reserved. | 粤ICP备14086738号-3 |