一、实验出现的问题
1)在查询参数中包含中文
出现了\u4f60这样不可识别的字符(unicode编码)
出现了\u4f60和%E4%BD这样不可识别的字符(unicode编码)
2)在请求头中包含中文
接口运行出错:‘ascii’ codec can’t encode…
3)在请求体中包含中文(JSON类型)
应答体JSON出现了\u4f60这样的不可识别的字符
4)在请求体中包含中文(TEXT类型)
接口运行出错:‘latin-1’ codec can’t encode…
5)在请求体中包含中文(FORM类型)
出现了\u4f60这样的不可识别的字符(unicode编码)

二、编码问题的基础知识
1)字符
字符的现象:a、1、*、&、好、の
字符的本质?数值!
字母+数字+制表符+控制字符=ASCII(字符集)
字符的显示:渲染
2)字符集
1、ASCII
0-127
2、GB2312(大约7千字)/GBK(2W)/GB18030(7W)
ASCII+中文字符、中文符号
byte:8bit;0-255
3、欧洲:latin-1/ISO-8859-1
128-255
4、日本:shift-jis EUC
5、台湾、香港:BIG5
6、Uni
本文详细探讨了在Django接口开发中遇到的中文编码问题,包括查询参数、请求头、请求体(JSON、TEXT、FORM类型)中的中文乱码情况,并介绍了乱码问题的基础知识,如字符、字符集、字符编码和字体。文章深入分析了乱码的根本原因及requests库中的乱码现象,并提供了针对性的解决方案,涉及请求体和应答体的编码处理、查询参数和请求头的管理,以及遇到问题时的应对策略。
订阅专栏 解锁全文
567

被折叠的 条评论
为什么被折叠?



