When notepad opens a file it doesn't know which encoding has been used; have you specified the "Unicode" encoding option in the open file dialog?

Alberto

PARK Youngho wrote:
Hi, there.
I am using Xercesc 3.0.1.
I have encoding problem in using XMLFormatter and LocalFileFormatTarget.  If I use UTF-8, everything is fine.  However, 
if I use UTF-16, it appears that alphanumeric characters were written fine but Korean characters were not properly 
written.  With XMLFormatter and LocalFileFormatTarget, I tried to write a file with string "ABC123하늘".  
"하늘" is Korean string.  The file written with UTF-8 was alright when I open it with Notepad.  But, the file 
written with UTF-16 was not found correct when I open it with Notepad.  "A B C 1 2 3 X? " was written instead 
of "ABC123하늘".

Don't I know something that I have to know?

The code is as follows.

#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <xercesc/framework/XMLFormatter.hpp>
#include <xercesc/framework/LocalFileFormatTarget.hpp>

using namespace xercesc;
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    XMLPlatformUtils::Initialize();
    LocalFileFormatTarget* pTarget = new 
LocalFileFormatTarget(L"testUTF16.txt");
    XMLFormatter*   pFormatter = new XMLFormatter(L"UTF-16LE", pTarget);
    *pFormatter << XMLFormatter::NoEscapes << L"ABC123하늘";
    pTarget->flush();
    delete pFormatter;
    delete pTarget;
    pTarget = new LocalFileFormatTarget(L"testUTF8.txt");
    pFormatter = new XMLFormatter(L"UTF-8", pTarget);
    *pFormatter << XMLFormatter::NoEscapes << L"ABC123하늘";
    pTarget->flush();
    delete pFormatter;
    delete pTarget;

    XMLPlatformUtils::Terminate();
    return 0;
}

Thanks.
Youngho.

__(*^.^*)__

Reply via email to