I believe my EmpegSynchronizeClient code handles everything as UTF8 internally, but once it hits the wire for the Empeg it turns into ISO-8859-1. PearlSynchronizeClient obviously keeps it properly in UTF8. Is 2.0 ISO-8559-1 only and 3.0 is UTF8 by any chance? That might explain why this code is like this in my Empeg version. I think I just need to change the encoding name in my synchronizeTags method to switch to UTF8, so if it stops raining I'll bring the Empeg in and try it out.