Thank you for your reply.
Sorry for not being clear with the problem.
99.9% of all non-ASCII characters come out correctly.
There are 1-2 characters(different) that appear as \x.. (where .. - bytes) on some (not all) pages. E.g. "Гла\xD0\xB2ная", "Се\xD1\x80вис" rather than "Главная", "Сервис"(in Russian).
This happens either to data stored in MySQL or TT templates. Even when none CGI parameters has been passed and on pages which do not display data from the database. On some pages the same words (from same sources) come out correctly.
All MySQL tables have utf8 charset and collation. I do 'set names utf8 collate utf8_general_ci' upon connection. AFAIK, MySQL returns correct UTF-8 data but doesn't set UTF-8 flag. What are other options to fix this?
For the client I set the UTF-8 encoding in the HTML files and send it along with HTTP header. Browser uses UTF-8 to display the data.
I have tried to play with STDOUT
binmode STDOUT => ':raw'; binmode STDOUT => ':utf8'; binmode STDOUT => ':encoding(utf8)';
Somehow, it fixes the characters on some pages but it breaks on other pages.
In reply to Re^4: UTF-8 problem, some chars appear as \x..
by zanzibar
in thread UTF-8 problem, some chars appear as \x..
by zanzibar
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |