Just checking quickly for how strings are handled in osticket 1.6.0:
# grep -REHn 'mb_|iconv' *
include/pear/Mail/mime.php: if (isset($build_params)) {
include/pear/Mail/mime.php: $useIconv = !$build_params;
include/pear/Mail/mime.php: if (function_exists('iconv_mime_encode') && $useIconv) {
include/pear/Mail/mime.php: $hdr_value = iconv_mime_encode($hdr_name, $hdr_value, $imePrefs);
include/class.mailfetch.php: if(function_exists("iconv") and $text) {
include/class.mailfetch.php: return iconv($charset,$enc.'//IGNORE',$text);
include/class.mailfetch.php: elseif(function_exists("mb_detect_encoding"))
include/class.mailfetch.php: return iconv(mb_detect_encoding($text,$encodings),$enc,$text);
I see the dreaded //IGNORE flag which can cause multi-byte chars to be dropped. I haven't had time to analyze the code but this could possibly be the source of a problem.
More info here:
(http://www.php.net/manual/en/function.iconv.php)