Windows 7でUTF8をデフォルトの文字エンコーディングとして設定する


63

標準としてUTF-8をグローバルに使用するようにWindows 7を設定する方法はありますか?
すべてのテキストエディターを使用するように設定するのは本当に面倒です。


4
あなたはOSに何かを伝えたい..そして魔法のようにすべての編集者がそれを拾いますか?:)何人のエディターを使用していますか?3分ごとに別の?とにかく:superuser.com/questions/221593/windows-7-utf-8-and-unicode私が知っていることから:WindowsはどこでもUTF16を内部で使用しているので、それを変更できるとは思わない。
アキラ

1
私が使用しているエディター:notepad、notepad ++、qt、eclipse、thunderbird、open office、その他いくつか...プレーンテキストエディターだけでなく、テキスト入力および出力で機能するすべてのものについて話している。プラットフォームに依存しないテキストエディターのほとんどは、Linuxではutf-8を標準として使用しますが、WindowsではLatin-1を使用します。
バールン

Windows 7ではありませんが、Windows 10では可能です
phuclv

回答:


45

短い答えはノーです、それは不可能です。

詳しく説明すると、1)グローバルデフォルトを設定し、2)リストしたすべてのアプリケーションが従うことができるWindows 7のグローバルエンコードオプションが見つからないのではないかと思います。

また、ここであなたが解決しようとしている問題は何ですか?

内部でUnicodeを使用してデータを表現するかどうかを選択するのは、アプリケーション次第です。unicodeの使用を勧めしますが、実際にすべてのアプリケーションがそれを内部でサポートしていることを確信できない場合があります。

あなたは何を行うことができます、しかし、記載されている各アプリケーションのデフォルトの文字エンコーディングを変更です。

  • Eclipseの場合、新しいファイルのデフォルトのエンコーディングは、Windows> Preferences> General> Content Typesから設定できます(Eclipse Community Formsの投稿を参照)
  • Notepad ++の場合、[設定]> [設定]> [新しいドキュメント/デフォルト/ディレクトリ]に移動し、エンコードをUTF-8に設定します
  • Thunderbirdに関しては、デフォルトのエンコーディングとしてすでにUTF-8を使用していると確信していますか?(文字エンコードに関するこれらの注意を参照してください)
  • OpenOffice(およびLibreOffice)の場合、OpenOfficeによって保存されたドキュメントはXMLファイルにエンコードが内部的に指定されている(およびUTF-8は既にUTF-8になっているため)デフォルトもあります)
  • UTF-8の観点からすると、PowerShellには注意が必要です。デフォルトのエンコーディングはUTF-16LEです。
    • PowerShellからUTF-8へのファイルの出力については、この回答を参照してください
    • デフォルトのエンコーディングを変更するには、この回答を参照してください

4
ではない私は、しかし、私は真実を生きていると考え得るために期待していた答えは、あなたに感謝=)
バールン

メモ帳ウィンドウ用ですか?
ミモウニ

23

主にWindowsはUTF-8のANSIコードページであるコードページ65001を持っているにもかかわらず、システムANSIコードページとしてUTF-8を許可しないため、これは不可能です。これにはいくつかの理由があるようです。

  • Unicodeが新しくなったとき、マイクロソフトはUCS-2がUnicodeをサポートする最良の方法であると判断しました。当時、Unicodeは16ビットでした。
  • Windowsにはサポートされている言語ごとに1つのANSIコードページがあります。UnixやLinuxでは、言語とエンコードを個別に設定できます。
  • コードページ65001はどこでも機能しません。具体的には、マルチバイト文字が1〜2バイトを必要とするのに対し、UTF-8は1〜4バイトを必要とするWindowsのマルチバイトサポートの一部で壊れています。WriteFile()APIインスタンスのためには、そのようにに依存するすべてのライブラリコードをバブルアップコードページ65001の下で誤った結果を返しますwrite()

マイクロソフトで国際化に携わった故マイケル・カプランには、「Sorting it all Out」というブログがあり、関連トピックに関するいくつかの投稿がありました。当時、これらの懸念事項のいくつかについて直接彼にメールを送りました。


Windows(NT)が考案された当時、UTF-8はなかったことに注意してください。したがって、UCS-2は実際には正気の選択でした(UTF-16を除き、後で変更することは不可能です)。
ジョーイ

2
その理由は、UTF-8ロケールが一部の機能(考えられる例は_mbsrev)を破損する可能性があるためです(マルチバイトエンコーディングは文字ごとに2バイト以下を使用することを前提として書かれているため、これまではGB 18030(cp54936など) )およびUTF-8をロケールとして設定できませんでした。。しかし、少なくとも、今では10、Windows上でUTF-8ロケールを設定することが可能です
phuclv
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.