You need to specify the encoding when you use tostring:
dIn [2]: !cat "test.xml"
��<?xml version="1.0" encoding="UTF-16"?>
<?xml-stylesheet type="text/xsl" href="xxx.xsl"?>
<TEI.2>
<teiHeader></teiHeader>
<text>
<front></front>
<body>
<p rend="chapter">-4#"2':2</p>
<p rend="bodytext" n="285"><hi rend="paranum">RXU</hi><hi rend="dot">.</hi> <hi rend="bold">'4'224#!:+2</hi>4 -!:!M B!:! 4 5@5 4-24":':2 -:2#*@ #':84*:*42 '4'224#!:+2/</p>
</body>
<back></back>
</text>
</TEI.2>
In [3]: import lxml.etree as ET
In [4]: xml_filename = "test.xml"
In [5]: dom = ET.parse(xml_filename)
utf-16:
In [6]: print ET.tostring(dom, pretty_print=True, encoding="utf-16")
��<?xml version='1.0' encoding='utf-16'?>
<?xml-stylesheet type="text/xsl" href="xxx.xsl"?>
<TEI.2>
<teiHeader/>
<text>
<front/>
<body>
<p rend="chapter">-4#"2':2</p>
<p rend="bodytext" n="285"><hi rend="paranum">RXU</hi><hi rend="dot">.</hi> <hi rend="bold">'4'224#!:+2</hi>4 -!:!M B!:! 4 5@5 4-24":':2 -:2#*@ #':84*:*42 '4'224#!:+2/</p>
</body>
<back/>
</text>
</TEI.2>
utf-8:
In [7]: print ET.tostring(dom, pretty_print=True, encoding="utf-8")
<?xml-stylesheet type="text/xsl" href="xxx.xsl"?>
<TEI.2>
<teiHeader/>
<text>
<front/>
<body>
<p rend="chapter">อธิกรณปจฺจยกถาวณฺณนา</p>
<p rend="bodytext" n="285"><hi rend="paranum">๒๘๕</hi><hi rend="dot">.</hi> <hi rend="bold">วิวาทาธิกรณมฺหา</hi>ติ ‘‘อธมฺมํ ‘ธโมฺม’ติ ทีเปตี’’ติอาทินยปฺปวตฺตา อฎฺฐารสเภทกรวตฺถุนิสฺสิตา วิวาทาธิกรณมฺหาฯ</p>
</body>
<back/>
</text>
</TEI.2>
ascii(default):
In [8]: print ET.tostring(dom, pretty_print=True, encoding="ascii")
<?xml-stylesheet type="text/xsl" href="xxx.xsl"?>
<TEI.2>
<teiHeader/>
<text>
<front/>
<body>
<p rend="chapter">อธิกรณปจฺจยกถาวณฺณนา</p>
<p rend="bodytext" n="285"><hi rend="paranum">๒๘๕</hi><hi rend="dot">.</hi> <hi rend="bold">วิวาทาธิกรณมฺหา</hi>ติ ‘‘อธมฺมํ ‘ธโมฺม’ติ ทีเปตี’’ติอาทินยปฺปวตฺตา อฎฺฐารสเภทกรวตฺถุนิสฺสิตา วิวาทาธิกรณมฺหาฯ</p>
</body>
<back/>
</text>
</TEI.2>