Bug 20384 – UTF-8 vital error for chinese character which to be printed in console

Status
NEW
Severity
enhancement
Priority
P4
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Windows
Creation time
2019-11-11T16:14:04Z
Last change time
2024-12-13T19:06:10Z
Assigned to
No Owner
Creator
ll
Moved to GitHub: dmd#17927 →

Comments

Comment #0 by aliule2020 — 2019-11-11T16:14:04Z
import std.stdio; import core.stdc.stdio; import core.stdc.stdlib; void main() { system("chcp 65001");// change code page to utf-8 system("cls"); //clear the console writeln("你好啊世界");//OK //string str="123456"; // if str is ascii, the correct result will be get string str="你好啊世界"c; //if str is chinese characters, the wrong result will be get char[] chs=str.dup; for(int i=0;i<chs.length;i++) { writeln(chs[i]);//both number and content of chinese are wrong } system("pause");//pause }
Comment #1 by robert.schadek — 2024-12-13T19:06:10Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/17927 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB