Re: CJK problem when using console outputs

2018-07-17 Thread zhani via Digitalmars-d-learn

On Monday, 16 July 2018 at 18:16:45 UTC, ag0aep6g wrote:

On 07/16/2018 11:30 AM, zhani wrote:

[...]


Try this:


import std.stdio: writeln;
import std.exception: enforce;
import core.sys.windows.windows: CP_UTF8, SetConsoleOutputCP;
void main()
{
SetConsoleOutputCP(CP_UTF8).enforce;
writeln("Allo");
writeln("こんにちは");
writeln("你好");
writeln("안녕하세요");
}



thank you for reply. :-)
i removed a code that my cheated and solved it.

i still, don't know why dmd didn't support CJK by default when 
write a console.

Dlang must be a world-wise for everyone.

anyway, thank you so much.


Re: CJK problem when using console outputs

2018-07-16 Thread ag0aep6g via Digitalmars-d-learn

On 07/16/2018 11:30 AM, zhani wrote:

i got some problem about using CJK in windows10 console.

here my code(a code file encoded the utf-8):
--
import std.stdio;
/*
static this(){
 core.stdc.wchar_.fwide(core.stdc.stdio.stdout, 1);
 setlocale(0, cast(char*)"korea");
}*/
void main()
{
 writeln("Allo");
 writeln("こんにちは"); // C
 writeln("你好");  // J
 writeln("안녕하세요"); // K
}
--

and nice result on windows(cmd and powershell):
--
Allo
?볝굯?ャ걾?
鵝졾?
?덈뀞?섏꽭?
--


Try this:


import std.stdio: writeln;
import std.exception: enforce;
import core.sys.windows.windows: CP_UTF8, SetConsoleOutputCP;
void main()
{
SetConsoleOutputCP(CP_UTF8).enforce;
writeln("Allo");
writeln("こんにちは");
writeln("你好");
writeln("안녕하세요");
}



Re: CJK problem when using console outputs

2018-07-16 Thread zhani via Digitalmars-d-learn

On Monday, 16 July 2018 at 09:30:22 UTC, zhani wrote:

howdy :-)

i got some problem about using CJK in windows10 console.

[...]


oh, sorry for my mistake. here:
--

writeln("你好");  // C
writeln("こんにちは"); // J
writeln("안녕하세요"); // K

--


CJK problem when using console outputs

2018-07-16 Thread zhani via Digitalmars-d-learn

howdy :-)

i got some problem about using CJK in windows10 console.

here my code(a code file encoded the utf-8):
--
import std.stdio;
/*
static this(){
core.stdc.wchar_.fwide(core.stdc.stdio.stdout, 1);
setlocale(0, cast(char*)"korea");
}*/
void main()
{
writeln("Allo");
writeln("こんにちは"); // C
writeln("你好");  // J
writeln("안녕하세요"); // K
}
--

and nice result on windows(cmd and powershell):
--
Allo
?볝굯?ャ걾?
鵝졾?
?덈뀞?섏꽭?
--
wow, very cool. see, wolrd-wise came here on dmd.


In fact, when i using dmd that older version, i solved this 
problem with a cheated a way like this:

--
static this(){
core.stdc.wchar_.fwide(core.stdc.stdio.stdout, 1);
setlocale(0, cast(char*)"korea");
}
--

but the 'dmd v2.081.1' didnt want this.
i guess, because a core package is invisiable now. yap.

how can i solve this problem using clean a way?
thanks.