39413


ATOMエディターで以下のスクリプトを書きました  
以下がスクリプトの内容です

[code]

    Write-Host "ハロー" 
    
[/code]

PowerShellから実行すると文字化けします。

[code]

    HelloWorld.ps1
    > 繝上Ο繝ｼ
    
[/code]

ATOMではUTF-8を使っています。これは変えたくないのですが  
拡張子がps1の場合のみ Shift-JIS で保存するような機能はATOMにありますか？

または、PowerShellの設定を変える事で文字化けしなくなるように  
出来ますでしょうか？

> PowerShell version  
>  Name Value  
>  \---- -----  
>  PSVersion 5.1.15063.674  
>  PSEdition Desktop  
>  PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}  
>  BuildVersion 10.0.15063.674  
>  CLRVersion 4.0.30319.42000  
>  WSManStackVersion 3.0  
>  PSRemotingProtocolVersion 2.3  
>  SerializationVersion 1.1.0.1
>
> ATOM Vetsion  
>  1.21.1


CC BY-SA 3.0
2017-11-07T14:14:53.643
39386
2017-11-08T10:40:50.933
26092
question
atom-editor powershell
ATOMで作成したPowerShell(ps1)が文字化けする


Atom インストールして確かめましたが UTF-8 保存するとBOMが付かないので、 `powershell`
インタプリタがレガシーエンコーディングで読んで文字化けしますね。  
ISE じゃなくてどうしても Atom で ps1 書きたいなら、下記のような方法があるでしょう。

  * BOM付きUTF-8 を扱えるよう Atom に要望を出す → <https://discuss.atom.io/>
  * BOM無しUTF-8 を扱えるよう PowerShell に要望を出す → <https://github.com/PowerShell/PowerShell>
  * [unicode-input](https://atom.io/packages/unicode-input) を使いファイルの先頭に BOM (U+FEFF) を入力する。  
入力しても文字は見えません。カーソルを左や右に移動させて幅ゼロの文字があることを確かめてください。

  * [language-powershell](https://atom.io/packages/language-powershell) 使っているなら `config.cson` に
[code]     ".source.powershell":

      core:
        fileEncoding: "shiftjis"
    
[/code]

と付け足す。  
カスタマイズについて詳しくは <http://flight-manual.atom.io/using-atom/sections/basic-
customization> を見てください。新規ファイルのときは名前を付けて保存する前に、画面右下の Plain Text ってなっているのを
PowerShell にしておかないと、utf8（デフォルトエンコーディング）で保存してしまい（しかも shiftjis で読み直して文字化けし）ます。


CC BY-SA 3.0
2017-11-08T10:26:48.743
39413
2017-11-08T10:40:50.933
2017-11-08T10:40:50.933
5469
5469
39386
answer