项目遇到的问题
js要对c++返回的中文字符做校验,返回比对的结果是same还是update
我自己用脚本验证相同的字符都是返回 same
但是c++给我的数据验证结果是 update
当时想到可能的原因
1.编码格式不对
js和c++ 用的中文编码格式不一致
2.js判断方法有误
后来切换了“==”和“===”,并没有解决问题
其实“===”只是加了一个类型转换,c++传过来的都是string,所以不需要类型转换,因此结果一致
我又查了一下vscode的编码,虽然编辑器底下显示的是UTF-8,但是在命令行输入
chcp
显示了活动代码页为 936 这是GBK的编码
所以我切换了utf8
chcp 65001 //是utf8的活动编码
后来c传过来的时候就ok了
不知道是不是 编辑器显示UTF8,但是实际控制台打出的是936 GBK 的这个原因
这里记录一下