自己用 Django 写了个后台,Python3 完全不用管字符编码 ,是真的爽。
|  |      1di94sh      2018-02-13 02:22:31 +08:00 via Android 只要吧 Python 的默认编码 asiic 编码换成 utf-8 就好了。 import sys reload ( sys ) sys.setdefaultcdfing('utf-8') | 
|  |      3Dillion      2018-02-13 08:35:49 +08:00 via iPhone  1 我记得这个方法不是不推荐用么 | 
|      5yangyaofei      2018-02-13 09:25:11 +08:00 via Android  2 别着急,会出现爸爸的儿子怎么变成你的问题 | 
|  |      6C0VN      2018-02-13 09:43:15 +08:00 我告诉你依旧会遇到字符编码的问题。 | 
|      7Rob007      2018-02-13 09:51:48 +08:00 Python2 的字符问题只能缓解,不能根除 | 
|      8laoyur      2018-02-13 09:58:54 +08:00  2 python 渣路过 如果单纯只是编码问题 py2 里用: # -*- coding: utf-8 -*- from __future__ import unicode_literals 不是已经能解决大部分问题了么? | 
|  |      9beforeuwait      2018-02-13 10:11:16 +08:00 好像是的,我写都不会加  #coding=utf8 | 
|      10Zzde      2018-02-13 10:13:38 +08:00 via Android python3 django 遇到过字符串编码问题,终端疯狂报错,网站 500。 | 
|  |      11booty      2018-02-13 10:54:08 +08:00 python3 好像还有很多库不支持? | 
|      13l1093178      2018-02-13 10:55:53 +08:00 @laoyur 有些地方由于解释器本身的限制不能用 unicode,比如异常的错误信息,比如 __all__ 里面导出的符号名称 | 
|      14hsiafan      2018-02-13 11:22:51 +08:00  2 @laoyur Python2 的编码问题主要是  1. 会做 unicode 和 str 的隐式转换 2. 转换用的不是 UTF8,而是 default local,不同环境表现会不一样 所以在不知不觉间就埋下了各种坑 | 
|  |      15dexter      2018-02-13 13:07:02 +08:00  3 low 啊 python 简直一门任性无药可救 又慢又 2B 的语言 | 
|  |      16ycz0926      2018-02-13 14:45:08 +08:00 如果是 web 开发的话,python 3 ( 3.6 )的 django、tornado 已经支持的很不错了,只遇到过一个阿里 sms 库的兼容问题,不过也在 github 找到了 python 3 的版本 | 
|  |      17ycz0926      2018-02-13 14:46:31 +08:00  1 python 3 有一个略繁琐的操作是,往 tonrado 的 socket 中写数据,必须得是 byte 类型的,每次都得 encode 一下 | 
|  |      18ycz0926      2018-02-13 14:48:22 +08:00 @dexter 目前来说,python 其实可以满足很大一部分的需求了,如果是高并发或者涉及到系统方面的需求,可以考虑 go | 
|  |      20laoyuan      2018-02-13 15:04:04 +08:00 Python 3 在 web、爬虫方面的编码问题,我总结如下: '发' == '\u53d1' r'发' == '\\u53d1' == json.dumps('发').strip('"') '发'.encode('unicode-escape') == b'\\u53d1' == r'发'.encode("utf-8") | 
|  |      21SingeeKing PRO 我问一个无关问题。。。Python 2 的编码声明到底是什么原理 # coding: utf-8 # _*_ coding:utf-8 -*- # coding=utf-8 都能用,而且 utf-8 和 utf8 也是一样的效果(并且 Python 中所有的字符串传入都可以通用) 所以编码声明到底是什么原理?为什么书写有这么多形式 | 
|  |      22twor      2018-02-13 15:39:13 +08:00  2 @SingeeKing If a comment in the first or second line of the Python script matches the regular expression coding[=:]\s*([-\w.]+), this comment is processed as an encoding declaration; the first group of this expression names the encoding of the source code file. The encoding declaration must appear on a line of its own. If it is the second line, the first line must also be a comment-only line. https://stackoverflow.com/questions/41680533/is-coding-utf-8-also-a-comment-in-python | 
|  |      23twor      2018-02-13 15:41:17 +08:00 @SingeeKing 可能没有 get 到你到问题,忽略吧 | 
|  |      24SingeeKing PRO @twor #23 完美回答了我的问题!谢谢! | 
|  |      25loading      2018-02-13 16:10:43 +08:00 via iPhone 我在 py2 学了编码,到 go 学到了类型… | 
|      27aminic      2018-02-14 13:02:31 +08:00 via Android 只有 rust 才能解救编码问题 | 
|  |      28qq976739120      2018-02-14 13:35:33 +08:00 没用的啦,工作的话还是会要求你用 2 的 | 
|  |      29likuku      2018-02-14 19:40:52 +08:00 | 
|  |      30shamashii      2018-02-20 16:50:03 +08:00 endecode 低于折磨后的人来说,准确地讲是 3.6 版本开始好的 | 
|  |      31frostming      2018-02-23 17:18:58 +08:00 reload(sys)这方法总感觉脏,还会有其他问题出现 还是要有一个好习惯,除了输入输出,其余全部 unicode |