c++跨平台中文乱码问题解决方案

本文探讨了C++新标准中使用u8中文标记UTF-8字符串的方法,指出不同编译器对源代码编码的要求,最终建议采用UTF-8withBOM编码以确保跨平台兼容,避免乱码问题。

C++新标准中,提供了类似u8"中文"这种方式标记一个字符串是utf8字符串,避免编译器无法正确识别编码造成的乱码。
然而测试结果在gcc下,如果源代码文件的编码不是utf8,那么哪怕用了u8"中文"也是会导致乱码的,然而如果使用utf8编码,msvc编译器又会提示各种错误导致编译失败……
目前的结论是,想要跨平台的使用相同的代码,请使用UTF-8 with BOM编码,并用u8"中文"形式标记中文。测试结果gcc和msvc都可以正确识别,不会造成乱码问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值