Re: The writeln() function's args can't be [一 ,二]?

2014-05-06 Thread JR via Digitalmars-d-learn

On Tuesday, 6 May 2014 at 09:43:10 UTC, FrankLike wrote:

Hi,everyone,

I find the The writeln()  function's args  can't be [一 ,二]?
why?

Thank you.

Frank.


The problem is that you have a wide-character comma (,) there.

This works:

void main() {
writeln([一, 二]);
}


Re: The writeln() function's args can't be [一 ,二]?

2014-05-06 Thread FrankLike via Digitalmars-d-learn

The problem is that you have a wide-character comma (,) there.

This works:

void main() {
writeln([一, 二]);
}


No,I mean the execute result is error.That doesn't get the [一, 
二],but get the [涓C,浜?].


Why?

Thank you.

Frank.


Re: The writeln() function's args can't be [一 ,二]?

2014-05-06 Thread via Digitalmars-d-learn

On Tuesday, 6 May 2014 at 13:35:57 UTC, FrankLike wrote:

The problem is that you have a wide-character comma (,) there.

This works:

   void main() {
   writeln([一, 二]);
   }


No,I mean the execute result is error.That doesn't get the 
[一, 二],but get the [涓C,浜?].


Why?

Thank you.

Frank.


It works for me (Linux). If you're on Windows, it could have 
something to do with Windows' handling of Unicode, but I don't 
know enough about that to help you. There were posts about this 
in this newsgroup, maybe you can find them, or someone else 
remembers and can tell you directly...


Re: The writeln() function's args can't be [一 ,二]?

2014-05-06 Thread Regan Heath via Digitalmars-d-learn

On Tue, 06 May 2014 15:48:44 +0100, Marc Schütz schue...@gmx.net wrote:


On Tuesday, 6 May 2014 at 13:35:57 UTC, FrankLike wrote:

The problem is that you have a wide-character comma (,) there.

This works:

   void main() {
   writeln([一, 二]);
   }


No,I mean the execute result is error.That doesn't get the [一,  
二],but get the [涓C,浜?].


Why?

Thank you.

Frank.


It works for me (Linux). If you're on Windows, it could have something  
to do with Windows' handling of Unicode, but I don't know enough about  
that to help you. There were posts about this in this newsgroup, maybe  
you can find them, or someone else remembers and can tell you directly...


IIRC you need to type chcp 65001 and set the command prompt to the  
Lucida font...


R

--
Using Opera's revolutionary email client: http://www.opera.com/mail/


Re: The writeln() function's args can't be [一 ,二]?

2014-05-06 Thread FrankLike via Digitalmars-d-learn

On Tuesday, 6 May 2014 at 15:03:11 UTC, Regan Heath wrote:
On Tue, 06 May 2014 15:48:44 +0100, Marc Schütz 
schue...@gmx.net wrote:



On Tuesday, 6 May 2014 at 13:35:57 UTC, FrankLike wrote:
The problem is that you have a wide-character comma (,) 
there.


This works:

  void main() {
  writeln([一, 二]);
  }


No,I mean the execute result is error.That doesn't get the 
[一, 二],but get the [涓C,浜?].


Why?

Thank you.

Frank.


It works for me (Linux). If you're on Windows, it could have 
something to do with Windows' handling of Unicode, but I don't 
know enough about that to help you. There were posts about 
this in this newsgroup, maybe you can find them, or someone 
else remembers and can tell you directly...


IIRC you need to type chcp 65001 and set the command prompt 
to the Lucida font...


R


No,it's error.My OS is windows 7,chcp 936. SimpleChinese.
I use the 'go language' to test
'fmt.println(一, 二)'
Then  execute result is :一, 二.
It's ok.
But D is error:涓C,浜?.

Why?

Thank you.

Frank.




Re: The writeln() function's args can't be [一 ,二]?

2014-05-06 Thread Ali Çehreli via Digitalmars-d-learn

On 05/06/2014 04:56 PM, FrankLike wrote:

 On Tuesday, 6 May 2014 at 15:03:11 UTC, Regan Heath wrote:

 IIRC you need to type chcp 65001 and set the command prompt to the
 Lucida font...

 R

 No,it's error.My OS is windows 7,chcp 936. SimpleChinese.
 I use the 'go language' to test

I don't know how go works but code page 936 is not Unicode. D's output 
on the other hand, is Unicode.


 'fmt.println(一, 二)'
 Then  execute result is :一, 二.
 It's ok.

It means that the go program's output is in code page 936.

 But D is error:涓C,浜?.

That is understandable: Since the console is set to 936, it interprets D 
program's UTF-8 output incorrectly.


Please do what Regan Heath says and test again:

1) Set the code page to 65001

2) Use a font that includes your Unicode characters

Ali



Re: The writeln() function's args can't be [一 ,二]?

2014-05-06 Thread FrankLike via Digitalmars-d-learn


That is understandable: Since the console is set to 936, it 
interprets D program's UTF-8 output incorrectly.


Please do what Regan Heath says and test again:

1) Set the code page to 65001

2) Use a font that includes your Unicode characters

Ali


Thank you.

I modify  it by the 'Regedit'(my OS is windows 7 x64):
open Regedit, find 'HKEY_CURRENT_USER\Console'
find the CodePage,Double Click,
then modify the type to 'decimal system',and modify the value to 
65001.

That's all.

Thank you,everyone.

Frank.