2

PHP セクションでは、同様の問題が議論されました。私の問題は、NotePad ++ または AutoHotKey コンパイラのいずれかに関係しています。Notepad++ 内のアラビア語テキストは、正しく入力、保存、ロードすることができます。AutoHotKey でコンパイルし、listvars で入力したアラビア語を含む文字列を表示すると、文字がごちゃ混ぜになります。php セクションで定式化された問題のようなクエスチョン マークだけではなく、次のようなものです

キャラクターの一部が保存されている場合もありますが、わずかに変更されている場合もあれば、完全に台無しになっている場合もあります。

NotePad++ では、文字設定でいくつかのアラビア語エンコーディング設定を試しました。全部で 3 つの設定があり、そのすべてが NotePad++ での私のアラビア語の書き込みを混乱させます。これらは次のとおりです。

  1. ISO8859-6
  2. OEM 720
  3. Windows1256

最後に、アラビア語をクリップボードから正しく読み取って txt ファイルに保存し、再度読み取って正しく表示することができます。

4

1 に答える 1

1

スクリプト ファイル内の非 ASCII テキストが AutoHotkey によって正しく解釈されるためには、次のいずれかが満たされている必要があります。

  1. ファイルは BOM 付きの UTF-8 として保存されます。Notepad++ では、オプションはEncode in UTF-8です。

  2. ファイルは BOM 付きの UTF-16 として保存されます。Notepad++ では、ファイルに補助文字 (U+10000 から U+10FFFF) が含まれていない限り、[ UCS-2 リトル エンディアンでエンコード] オプションが機能します。

  3. ファイルは、システムのデフォルトの ANSI コードページで保存されます。これは、含まれる文字がすべてそのコードページ内にあることを意味します。Notepad++ では、オプションはEncode in ANSIです。Windows 7 では、コードページは[地域と言語] コントロール パネルの [非 Unicode プログラムの言語] オプションで設定されます。

  4. このファイルには BOM は含まれていませんが、/CPnAutoHotkey.exe の実行時にコマンド ライン スイッチが使用されます。ここで、n はファイルの保存に使用されるコードページの識別子です。リストについては、MSDN のCode Page Identifiersを参照してください。

UTF-8 を推奨します。

AutoHotkey ドキュメントのスクリプト ファイル コードページを参照してください。

于 2013-08-18T00:42:01.283 に答える