鱼C论坛

 找回密码
 立即注册
查看: 2297|回复: 14

[已解决]学习python中汉语不显示的问题,求助哥哥姐姐们

[复制链接]
发表于 2020-8-13 11:29:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def bii():
        return [1,2,2,'小鑫','小民',3]

>>> bii()
[1, 2, 2, '\xd0\xa1\xf6\xce', '\xd0\xa1\xc3\xf1', 3]
就类似上面的代码,汉语直接给转格式了不知道咋解决
江湖求救^.^
最佳答案
2020-8-13 12:26:08
本帖最后由 Py与C。。。 于 2020-8-13 13:37 编辑

可能是编码问题,你输出的是二进制,我也遇到和你差不多的问题:
方法一:
在开头加上#_*_ coding:utf-8 _*_  ,或#_*_ coding:gbk _*_试试(好像dos窗口不支持utf-8)
方法二:
若还不行,请引入json,进行格式化转换
比如:
import json
tinyDict = {'name': "a阿三", 'as': "nan"}
print tinyDict.keys()
print tinyDict.values()
就是打印他的键和值

输出结果:
['as', 'name']
['nan', 'a\xe9\x98\xbf\xe4\xb8\x89']
这和你那差不多

解决方法:
import json
tinyDict = {'name': "a阿三", 'as': "nan"}
print tinyDict.keys()
result = json.dumps(tinyDict.values(), encoding='utf-8', ensure_ascii=False)
print result
其实也就是把编码转换成utf-8,json.dump里第二个参数’encoding=‘就是转换编码

若有不懂再来找我
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-13 11:35:35 | 显示全部楼层
>>> def bii():
        return [1,2,2,'小鑫','小民',3]

>>> bii()
[1, 2, 2, '小鑫', '小民', 3]
我试了,正确啊~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 11:41:14 | 显示全部楼层
你是不是3.8.4版本?那个版本是有问题的,遇到中文就出问题。换个版本吧。刚刚出来的3.8.5好像解决这个问题了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 11:58:03 | 显示全部楼层
你用的是 Python 2 版本吧?建议用 Python 3,Python 2 已经过时了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 12:19:49 | 显示全部楼层
sunrise085 发表于 2020-8-13 11:41
你是不是3.8.4版本?那个版本是有问题的,遇到中文就出问题。换个版本吧。刚刚出来的3.8.5好像解决这个问题 ...

我用的3.8.2,软件管家下的,没有.6的,下一个版本就是3.9了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 12:25:56 | 显示全部楼层
鱼儿耶yu 发表于 2020-8-13 11:35
>>> def bii():
        return [1,2,2,'小鑫','小民',3]

应该是我的软件问题,我试着重新装个,谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 12:26:08 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Py与C。。。 于 2020-8-13 13:37 编辑

可能是编码问题,你输出的是二进制,我也遇到和你差不多的问题:
方法一:
在开头加上#_*_ coding:utf-8 _*_  ,或#_*_ coding:gbk _*_试试(好像dos窗口不支持utf-8)
方法二:
若还不行,请引入json,进行格式化转换
比如:
import json
tinyDict = {'name': "a阿三", 'as': "nan"}
print tinyDict.keys()
print tinyDict.values()
就是打印他的键和值

输出结果:
['as', 'name']
['nan', 'a\xe9\x98\xbf\xe4\xb8\x89']
这和你那差不多

解决方法:
import json
tinyDict = {'name': "a阿三", 'as': "nan"}
print tinyDict.keys()
result = json.dumps(tinyDict.values(), encoding='utf-8', ensure_ascii=False)
print result
其实也就是把编码转换成utf-8,json.dump里第二个参数’encoding=‘就是转换编码

若有不懂再来找我
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 12:31:48 | 显示全部楼层
段小新 发表于 2020-8-13 12:25
应该是我的软件问题,我试着重新装个,谢谢啦

没必要重装吧,改下编码就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 12:37:42 | 显示全部楼层
Py与C。。。 发表于 2020-8-13 12:31
没必要重装吧,改下编码就行

。。。我手快都给卸了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 12:38:36 | 显示全部楼层
Py与C。。。 发表于 2020-8-13 12:26
可能是编码问题,你输出的是二进制,我也遇到和你差不多的问题:
方法一:
在开头加上#_*_ coding:utf-8  ...

大佬!你那个坦克大战都给我看湿了,能告我用了多长时间搞出来的不
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 12:51:53 | 显示全部楼层
Py与C。。。 发表于 2020-8-13 12:31
没必要重装吧,改下编码就行

重装没用mmmmmm,我研究下咋改编码的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 12:55:12 | 显示全部楼层
Py与C。。。 发表于 2020-8-13 12:26
可能是编码问题,你输出的是二进制,我也遇到和你差不多的问题:
方法一:
在开头加上#_*_ coding:utf-8  ...

大佬,确实没看懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 13:12:32 | 显示全部楼层
段小新 发表于 2020-8-13 12:55
大佬,确实没看懂

开头加上#_*_ coding:utf-8 _*_ 运行下试试,看行不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 15:13:00 | 显示全部楼层
Py与C。。。 发表于 2020-8-13 13:12
开头加上#_*_ coding:utf-8 _*_ 运行下试试,看行不行

>>> bi()
('\xce\xd2', '\xb2\xbb', '\xcf\xeb', '\xc4\xe3')
>>> bi()
('\xe6\x88\x91', '\xe4\xb8\x8d', '\xe6\x83\xb3', '\xe4\xbd\xa0')
方法一我试了返回的这两种。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-14 18:13:07 | 显示全部楼层
实际是python shell 的问题,换成python自带的idle和交互环境就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 08:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表