Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default Code Page Specfull #33

Open
f7q opened this issue Sep 29, 2016 · 0 comments
Open

Default Code Page Specfull #33

f7q opened this issue Sep 29, 2016 · 0 comments
Assignees

Comments

@f7q
Copy link
Owner

f7q commented Sep 29, 2016

デフォルトの文字コードが今までのC#仕様(UNICODE)と異なる。
Wikiに整理する。

https://msdn.microsoft.com/ja-jp/library/ms404377(v=vs.110).aspx

プラットフォームに関する注意事項: .NET Core

既定で、.NET Core では、コード ページ 28591 以外のコード ページ エンコーディングや
 Unicode エンコーディング (UTF-8 や UTF-16 など) を使用できません。
 ただし、使用するアプリに、.NET Framework を対象とする標準の
 Windows アプリに含まれているコード ページ エンコーディングを追加できます。
 詳細については、「CodePagesEncodingProvider」のトピックを参照してください。

かつてRoslynコンパイラもShift-jisでコーディングしてたら、エラーなるIssue 4264があった。

project.json

{
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true
  },
  "dependencies": {},
  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.1"
        },
        "System.Text.Encoding.CodePages": "4.0.1" //ADD
      },
      "imports": "dnxcore50"
    }
  }
}

Program.cs

using System;
using System.Text; //ADD

namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); //ADD
            Console.WriteLine("ハロー World!"); //ここが文字化けする。
            Console.WriteLine(Console.OutputEncoding); //ADD
        }
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant