温度を表示する楽しいプログラムがあります。Conkyから使用しようとするまでは、すべて正常に機能します。
Traceback (most recent call last):
File "/home/naftuli/Documents/i7zdaemon/get-i7z-value", line 85, in <module>
main()
File "/home/naftuli/Documents/i7zdaemon/get-i7z-value", line 28, in main
get_temp_value(args)
File "/home/naftuli/Documents/i7zdaemon/get-i7z-value", line 63, in get_temp_value
print fmt % (temp if not args.in_fahrenheit else temp * (9.0/5.0) + 32, )
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb0' in position 2: ordinal not in range(128)
別のプログラムから使用した場合にのみエラーがスローされるのはなぜですか?ターミナルから直接実行すると、すべてが正常に見えます。
これが私がしていることです:
fmt = u"%d\u00B0C" if not args.in_fahrenheit else u"%d\u00B0F"
# ...
print fmt % (temp if not args.in_fahrenheit else temp * (9.0/5.0) + 32, )
その最後の行はすべてを殺します。何が得られますか?