コンソール出力の文字化けを無理矢理回避

コンソールのエンコードJava のシステムエンコーディングにあわせるとか色々あるんだけど
コンソールのエンコード変更とか他に影響出まくりなので
こんな関数つくって無理矢理回避した。

import sys

def p(data):
    if sys.platform.find('java') > -1:
      import java
      java.lang.System.out.write(java.lang.String(data).getBytes("utf-8"));
      print 
    else:
      print data

出るから良し

    • -

jbking 『それを高階関数で使うんですね、わかりま(ry』(2008/11/20 14:48)

こうですか?わかりません><

hoge(lambda data :(sys.platform.find('java') > -1 and ([globals().__setitem__('java',__import__('java'))] and [java.lang.System.out.write(java.lang.String(data).getBytes("utf-8"))] and [sys.stdout.write('\n')]) or [sys.stdout.write(data + '\n')])
)