2009/9/12 <[email protected]>: > i tried this,still the same. > and i tried more,even i receive unicode string from std::cin,it will still > return me a wrong output as i got before.
Your original string should be UTF-8 coded as the following bytes: e4 bd a0 e5 a5 bd 27 2b 27 etc. You should check your C++ source file with a hexdump utility to see that that is the sequence. Then pipe the output from the program into a file and check again with a hexdump utility that the correct bytes are output. I just tried your program and it worked for me on Linux. > > 2009/9/11 Kei Yuen (Kenji) <[email protected]> >> >> Are you using Visual Studio? >> Try to save your source file with UTF8 encoding: >> File -> Advanced Save Options >> >> >> 2009/9/11 Erik Corry <[email protected]> >>> >>> 2009/9/11 Cloudage <[email protected]>: >>> > >>> > here`s my code: >>> > >>> > using namespace v8; >>> > int _tmain(int argc, _TCHAR* argv[]) >>> > { >>> > HandleScope handle_scope; >>> > >>> > Persistent<Context> context = Context::New(); >>> > >>> > Context::Scope context_scope(context); >>> > >>> > Handle<String> source = String::New("'你好'+',世界!'"); >>> >>> See the comment in include/v8.h. This call expects UTF-8 coded data, >>> so it will work if your C++ code editor is set up to save in UTF-8 >>> mode. I think only the basic plane (16 bit unicode characters) is >>> supported at the moment, but it could conceivably be expanded to >>> encode other Unicode characters into UTF-16 internal representation. >>> >>> > >>> > Handle<Script> script = Script::Compile(source); >>> > >>> > Handle<Value> result = script->Run(); >>> > >>> > context.Dispose(); >>> > >>> > String::Utf8Value str(result); >>> > printf("%s\n", *str); >>> >>> This will work if your terminal is set up to accept UTF-8 as output. >>> Again, I think only the first 65536 Unicode characters are supported >>> at the moment. >>> >>> -- >>> Erik Corry, Software Engineer >>> Google Denmark ApS. CVR nr. 28 86 69 84 >>> c/o Philip & Partners, 7 Vognmagergade, P.O. Box 2227, DK-1018 >>> Copenhagen K, Denmark. >>> >>> >> >> >> > -- Erik Corry, Software Engineer Google Denmark ApS. CVR nr. 28 86 69 84 c/o Philip & Partners, 7 Vognmagergade, P.O. Box 2227, DK-1018 Copenhagen K, Denmark. --~--~---------~--~----~------------~-------~--~----~ v8-users mailing list [email protected] http://groups.google.com/group/v8-users -~----------~----~----~----~------~----~------~--~---
