当前位置: 首页 > news >正文

北京三原色ps网站南通开发区:高质量发展

北京三原色ps网站,南通开发区:高质量发展,商务推广,wordpress进入后台超时在使用FlaskGunicorn部署应用时#xff0c;发现中文的输出存在乱码的现象。这是因为Python的默认编码是ASCII#xff0c;而ASCII并不支持中文字符。 解决Python中文乱码问题的首要任务是确保使用合适的编码方式。当你处理中文字符时#xff0c;应该使用UTF-8编码。UTF-8是一…在使用FlaskGunicorn部署应用时发现中文的输出存在乱码的现象。这是因为Python的默认编码是ASCII而ASCII并不支持中文字符。 解决Python中文乱码问题的首要任务是确保使用合适的编码方式。当你处理中文字符时应该使用UTF-8编码。UTF-8是一种支持多种字符集的编码方式包括中文字符。 一、关于编码的背景知识 首先我们来谈一谈编码这个东西由于计算机是美国人发明的最早的编码里面仅仅有数字字母以及一些符号不包含中文汉字这个编码表我们常称为ASCII码表。 而要处理中文的时候原来的ASCII码表就不够用了需要使用两个字节来保存一个汉字于是中国制定了GB2312编码不会与原来的ASCII码表冲突又可以用来表示中文汉字。但中国会把汉字弄成GB2312编码也可以叫GBK编码其他国家比如韩国会把韩文弄一个编码集日本会弄一个日文编码集因此在多语种文本中这样的编码就势必会造成编码冲突显示出来的时候呈现出所谓的乱码。 因此Unicode编码诞生了这种编码可以把所有的语言都放到一种编码之中这样就不会有乱码出现了。默认来讲Unicode编码占用2个字节一些偏僻文字可能占用4个Ascii码占用一个字节。如果都用Unicode编码来写文件那乱码肯定消失了但你会发现如果你的文件绝大多数文字都是一些ascii码可以覆盖的内容的话使用Unicode的编码就会极大的占用空间了。 因此又发明了可变长编码“UTF8”或utf-8。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节常用的英文字母被编码成1个字节汉字通常是3个字节只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符用UTF-8编码就能节省空间。 大概的知识就是这样因此我们总结出了现在常见的ASCIIUnicode,utf-8三种编码。 由于python比unicode的诞生还要早因此最早的python只支持ascii码而后来的版本python加入了unicode的支持。 二、解决中文乱码 具体可以通过以下几种方案来解决。 方法1在app.config中设置编码 创建app示例时设置对应的编码格式为UTF-8代码如下 app Flask(__name__) app.config[JSON_AS_ASCII] False app.config[JSONIFY_MIMETYPE] application/json;charsetUTF-8Flask在创建app时默认开启ASCII编码模式可以通过 app.config[JSON_AS_ASCII] False 关闭ASCII编码模式。 在比较新的版本的Flask中app.config[JSON_AS_ASCII] False 已经被弃用更改为app.json.ensure_ascii False如果在Flask中有使用jsonify来生成response可以使用 app.config[JSONIFY_MIMETYPE] application/json;charsetUTF-8。 from flask import Flask, jsonifyapp Flask(__name__) app.config[JSON_AS_ASCII] False app.config[JSONIFY_MIMETYPE] application/json;charsetUTF-8students [{id: 1, name: 李红},{id: 2, name: 张明} ]app.route(/students/list) def students_list():return jsonify(students)if __name__ __main__:app.run()方法2设置response的编码格式 from flask import Flask, jsonify, request, make_responseapp Flask(__name)app.route(/students/list) def students_list():data get_students_list()res_data {code: 200,data: data,message: success}response make_response(jsonify(res_data))response.headers[Content-Type] application/json;charsetUTF-8return response方法3设置Python解释器的编码环境 如果上面的方法都不适用可以查看下系统的python版本。我在开发环境的python 3环境中是正常显示的但是到了生产环境CentOS 7.9python 2.7中便出现乱码现象。 这是因为对于python 2.7来说默认的编码不支持中文。可以通过设置Python解释器的编码环境变量来全局解决中文乱码问题。 由于我这里使用了docker进行部署所以只需要在Dockerfile中加上如下语句 ENV PYTHONIOENCODINGUTF-8参考资料 python接口使用flask_jsonify后响应unicode编码改UTF-8编码解决Python中文乱码问题的策略与技巧
http://www.hkea.cn/news/14441560/

相关文章:

  • 西安城市建设职业学院官方网站网站源码平台
  • 清丰网站建设费用企业网站需要多大空间
  • 在线免费货源网站建立网站的公司有哪些
  • 关于我们网站设计wordpress订阅者
  • 国外产品网站安阳区号是多少
  • 免费开源企业网站程序劳务工程信息平台
  • flash网站设计欣赏如何选择顺德网站建设
  • 中跃建设集团网站杭州拱墅区网站建设
  • 建设商城网站的书籍钱价格低的英文怎么说
  • 如何选择网站项目广州哪里能建铝制自建房
  • 微信群 网站建设seo就业指导
  • 没有自己的网站做百度竞价石家庄网站建设推广公司哪家好
  • 加快网站速度吗高唐做网站推广
  • 网站可信认证网页设计与制作免费模板
  • 网站建设公司安丘市wordpress 验证
  • 网站的服务器怎么做的wordpress一万IP
  • 怎么给网站做百度优化婚庆网站开发计划书
  • 公司网站域名怎么续费手机微网站建设案例及报告
  • 网站asp代码自考网页制作与网站建设
  • 怎么建设投票网站商城app下载
  • 网站开发后台注意事项wordpress里的模板
  • 如何取消危险网站提示WordPress表情包插件
  • 开公司先建设网站手机h5建站
  • 适合大学生做的网站有哪些网页联系我们怎么做
  • 网站导航漂浮代码广东省省建设厅网站
  • 网站改版 优化嘉兴seo推广优化
  • 网站建设规划ppt网站优化的作用
  • 网站修改 iis6应用程序池网站建设模块一项目三
  • 诚信网站体系建设工作wordpress 评论关闭
  • 六安网站制作费用培训机构招生7个方法