I'm using goslate
for google translate API
I can translate Bengali to Engliash -
>>> import goslate
>>> gs = goslate.Goslate()
>>> S = gs.translate("ভাল", 'en')
>>> S
good
But, problem in arising when I want to translate English to Bengali.
>>> import goslate
>>> gs = goslate.Goslate()
>>> S = gs.translate("good", 'bn')
>>> S
Eoor:
return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-2: character maps to <undefined>
What should I do?
print repr(S)
output: u'\u09ad\u09be\u09b2'
print("ভাল")
output: à¦à¦¾à¦²
print(u"ভাল") # this gives UnicodeEncodeError
This works for me
#coding: utf-8
from sys import setdefaultencoding, getdefaultencoding
d=getdefaultencoding()
if d != "utf-8":
setdefaultencoding('utf-8')
st="ভাল"
f=open('test.txt','w')
f.write(st.encode('utf-8'))
f.close()
if d != "utf-8":
setdefaultencoding(d)
This prints "ভাল" as expected.
print st.encode('utf-8')
works too.