Thanks a lot for your reply Mr.Lundh Yeah you are correct, Tkinter is automatically converting the words to unicode, so there is no need to decode again, also there is no need to encode in the print statement
so, your assumption is correct but the encode statement at print gave me wrong kanjis [Japanese characters] > def search(self): > word = self.entStr.get() > print repr(word) > print "Inside search ...", word.encode('utf8') when I remove encode it is printing properly. def search(self): word = self.entStr.get() print repr(word) print "Inside search ...", word I referred unicode characters printed by repr to confirm. It is perfect. Thanks again (also for making your book available in the net) -raj Fredrik Lundh wrote: > [EMAIL PROTECTED] wrote: > > > It is working well when I enter english values. > > But giving unicodeEncodeError when I try with the Japanese letter. > > > > I tried to decode it by but I am getting unicodeEncodeError. > > chances are that Tkinter has already decoded the string for you. > > > def search(self): > > word = self.entStr.get() > > word_utf = word.decode('sjis') > > print "Inside search ...", word_utf.encode('utf8') > > try replacing this with > > def search(self): > word = self.entStr.get() > print repr(word) > print "Inside search ...", word.encode('utf8') > > and let us know what it prints. > > </F> -- http://mail.python.org/mailman/listinfo/python-list