Проблема при записи wstring в файл для иврита / арабского языка - PullRequest
2 голосов
/ 26 июля 2010

Я хочу читать иврит (юникод) с помощью парсера xerces.Я могу прочитать значение в XMLCh.Однако, записывая его в другой файл, я получаю значение gargabe.Я пытался использовать ofstream, wofstream, но не помогло.

Дайте мне знать ваши предложения

Ответы [ 3 ]

2 голосов
/ 26 июля 2010

Проблема с wofstream заключается в том, что он принимает широкую строку для метода open (), но фактически не записывает широкие символы в файл.Вы должны быть откровенны в этом и использовать ibue () в локали, в которой есть codecvt с нужной вам кодировкой.Реализация такого codecvt, который производит кодировку UTF, все еще не совсем точная, вот пример , использующий Boost.

0 голосов
/ 26 июля 2010

Прошло много времени с тех пор, как я использовал xerces, но я помню, что XMLCh - это их специальные типы символов, и, вероятно, вы должны преобразовать их в wchar перед записью.В качестве альтернативы вы можете попытаться сохранить его побайтно. Удачи!

0 голосов
/ 26 июля 2010

насколько я знаю (арабский), вы должны писать противоположно, так как это справа налево, поэтому пишите код для переключения букв перед записью его в файл

...