while 1:
buf = s.recv(16384)
if not len(buf):
break
try:
print unicode(buf,'utf-8'),
except:
print '###result in error code page'
я попробовал сделать так, если последний символ в буфере > 127 (т.е. начался 2=х байтный символ ), то перекинуть этот символ в начало следующего пришедшего сообщения, но этот вариант не работает
z = ''
while 1:
buf = s.recv(16384)
if not len(buf):
break
if z:
buf = z + buf
z = ''
if buf[-1] > 127:
z = buf[-1]
buf = buf[:-1]
try:
print unicode(buf,'utf-8'),
except:
print '###result in error code page'