I hope this will help, try the following:
Change the following In the file pipe.php (the file is located inside the api directory)
Find the line
PHP Code:
$subj=utf8_encode($parser->getSubject());
and replace it with
PHP Code:
$subj=mb_convert_encoding($parser->getSubject(), "UTF-8", mb_detect_encoding($parser->getSubject(), "UTF-8, ISO-8859-5, ISO-8859-1", true));
Find the line
PHP Code:
$var['name']=$name?utf8_encode($name):$var['email'];
and replace it with
PHP Code:
$var['name']=$name?mb_convert_encoding($name, "UTF-8", mb_detect_encoding($name, "UTF-8, ISO-8859-5, ISO-8859-1", true)):$var['email'];
Find the line
PHP Code:
$var['message']=utf8_encode(Format::stripEmptyLines($body));
and replace it with
PHP Code:
$var['message']=mb_convert_encoding(Format::stripEmptyLines($body), "UTF-8", mb_detect_encoding(Format::stripEmptyLines($body), "UTF-8, ISO-8859-5, ISO-8859-1", true));
I assume you are using the charset ISO-8859-5 for russian characters.
Next, open the file mime.php which is located in the include/pear/Mail directory
Find
Code:
'html_charset' => 'ISO-8859-1',
and replace it with
Code:
'html_charset' => 'UTF-8',
Find
Code:
'text_charset' => 'ISO-8859-1',
and replace it with
Code:
'text_charset' => 'UTF-8',
Find
Code:
'head_charset' => 'ISO-8859-1'
and replace it with
Code:
'head_charset' => 'UTF-8'
In case it's difficult to do the changes, I have attached the modified files for the latest stable osTicket version 1.6, if you are using the same version you can replace the two files you have, with the ones I included in the attached zip file.
Let me know if your issue is solved.