pythonexe设置_如何正确设置Python 3(和cmd.exe)编码?

在Python 3.4.3环境中,笑脸符号"☺"可以在交互式shell正常显示,但当尝试从文件中打印时,出现'charmap'编码错误。问题在于cmd.exe的默认编码不支持某些Unicode字符。可以通过调整Python和cmd编码设置来解决这个问题。在Windows 10上,可以使用chr()函数来打印cmd.exe支持的特殊字符。
摘要由CSDN通过智能技术生成

我试图用

Python打印笑脸:☺

它在交互式shell中没有任何问题(在cmd.exe中)

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AM

D64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> print("☺")

但是,如果我从文件中尝试相同的操作,我会收到此错误:

Traceback (most recent call last):

File "main.py", line 8, in

print("\u263a")

File "C:\dev\lang\Python34\lib\encodings\cp850.py", line 19, in encode

return codecs.charmap_encode(input,self.errors,encoding_map)[0]

UnicodeEncodeError: 'charmap' codec can't encode character '\u263a' in position

0: character maps to

Python文件是UTF-8编码的.

更新:

即使我的问题还没有真正的答案,也值得阅读问题下的评论.我还使用cmd.exe的默认光栅字体(在Windows 10上测试)创建了所有可打印字符的列表.要打印char,只需使用chr()函数.例如,chr(14)给你♫

0 [space]

1 ☺

2 ☻

3 ♥

4 ♦

5 ♣

6 ♠

7 [nothing]

8 [backspace, removes char before]

9 [tabulator]

10 [newline]

11 ♂

12 ♀

13 [takes part after chr(13) and replaces begin of string with it]

14 ♫

15 ☼

16 ►

17 ◄

18 ↕

19 ‼

20 ¶

21 §

22 ▬

23 ↨

24 ↑

25 ↓

26 →

27 ←

28 ∟

29 ↔

30 ▲

31 ▼

32 [space]

33 !

34 "

35 #

36 $

37 %

38 &

39 '

40 (

41 )

42 *

43 +

44 ,

45 -

46 .

47 /

48 0

49 1

50 2

51 3

52 4

53 5

54 6

55 7

56 8

57 9

58 :

59 ;

60 <

61 =

62 >

63 ?

64 @

65 A

66 B

67 C

68 D

69 E

70 F

71 G

72 H

73 I

74 J

75 K

76 L

77 M

78 N

79 O

80 P

81 Q

82 R

83 S

84 T

85 U

86 V

87 W

88 X

89 Y

90 Z

91 [

92 \

93 ]

94 ^

95 _

96 `

97 a

98 b

99 c

100 d

101 e

102 f

103 g

104 h

105 i

106 j

107 k

108 l

109 m

110 n

111 o

112 p

113 q

114 r

115 s

116 t

117 u

118 v

119 w

120 x

121 y

122 z

123 {

124 |

125 }

126 ~

127 ⌂

160 [space]

161 ¡

162 ¢

163 £

164 ¤

165 ¥

166 ¦

167 §

168 ¨

169 ©

170 ª

171 «

172 ¬

173 ­[shorter -, can't be displayed outside of console]

174 ®

175 ¯

176 °

177 ±

178 ²

179 ³

180 ´

181 µ

182 ¶

183 ·

184 ¸

185 ¹

186 º

187 »

188 ¼

189 ½

190 ¾

191 ¿

192 À

193 Á

194 Â

195 Ã

196 Ä

197 Å

198 Æ

199 Ç

200 È

201 É

202 Ê

203 Ë

204 Ì

205 Í

206 Î

207 Ï

208 Ð

209 Ñ

210 Ò

211 Ó

212 Ô

213 Õ

214 Ö

215 ×

216 Ø

217 Ù

218 Ú

219 Û

220 Ü

221 Ý

222 Þ

223 ß

224 à

225 á

226 â

227 ã

228 ä

229 å

230 æ

231 ç

232 è

233 é

234 ê

235 ë

236 ì

237 í

238 î

239 ï

240 ð

241 ñ

242 ò

243 ó

244 ô

245 õ

246 ö

247 ÷

248 ø

249 ù

250 ú

251 û

252 ü

253 ý

254 þ

255 ÿ

305 ı

402 ƒ

8215 ‗

9472 ─

9474 │

9484 ┌

9488 ┐

9492 └

9496 ┘

9500 ├

9508 ┤

9516 ┬

9524 ┴

9532 ┼

9552 ═

9553 ║

9556 ╔

9559 ╗

9562 ╚

9565 ╝

9568 ╠

9571 ╣

9574 ╦

9577 ╩

9580 ╬

9600 ▀

9604 ▄

9608 █

9617 ░

9618 ▒

9619 ▓

9632 ■

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值