ok, thanks to WYF, we tested for 2 hours and got WHERE is the problem.
it is when the number of multibyte characters has an ODD total.
let say, since most chinese characters i saw are 3 bytes in UTF8, if you have a filename with single character, then you'll have 3 bytes, and error. instead 2 symbols, 6 bytes, no error. and so on.
i will investigate further to find also a fix to this.