Use native encoding internally

Well, this time I dare not say the encoding issue is completely fixed. Perhaps @desar can come up with another 35 tests to beat me :+1: :) Anyway, this is what I have got so far.