add uft-8 encoding support