我从数据库获取到一个人的姓名,手机是(‘张X’,13660000000) 一个元组,可以直接打印出来
打印出来是(‘张\ue863’,'13660000000')X是一个生僻字,在python3显示出来是‘张ue863’
如果我令a=(‘张\ue863’,'13660000000')
再print(a[0])就会报错,gbk codec can't encode character '\ue863'.
请问怎么解决?,我不需要真的显示那个字,让我不要报错就行……
报错示例:
a='\ue863'
print(a)
直接报错,请问怎么解?
# encoding: utf-8
如果只是为了程序不中断, 那可以获取数据处理时, 加上 try: except: 把异常处理一下。
比如这样
a = ""
try:
a= '张\ue863'
except:
print("获取a异常")
print(a)
```python
a='\ue863'
print(repr(a))
'\ue863'
这样子可以吗?
实在不行。。。
import json
a = '\ue863'
print(json.dumps(a,ensure_ascii=False))
我这样写还是报同样的错呀0 0
截下你的程序结构, 标2个文件名出来:用到 显示名字的 py文件, 和读数据库的py。 再看看这两个文件的第一行。
结构就像这样
文件字符集设置错误导致的,请将文件字符集设置为utf-8.并输入代码:有帮助请采纳谢谢!
# encoding: utf-8
a=('张\ue863','13660000000')
print(a[0])
设置文件字符集:
先打印出来看看是什么类型
a = '\ue863'
print(chardet.detect(str.encode(a)))
可以尝试将生僻字转换成拼音在进行打印