SyncTERMはネイティブMacOS端末エミュレータとは異なる文字エンコーディングを使用し、互換性がないことがわかりました。たとえば、フォーマット文字列にブロック文字を印刷するとします。 IBM拡張ASCII文字エンコーディングを使用するSyncTERMは、8進エスケープシーケンスを使用します\261
。たとえば、Terminal.app(およびおそらくiTerm2)は疑問符のみを印刷します。これらの端末はUTF-8を使用するため、\uxxxx
エスケープシーケンスを使用する必要があります。
ASCII以外の特定の文字をフォーマット文字列として印刷し、文字セットに関係なくすべての端末エミュレータで動作したいとします。私はあなたがデータベースのterminfoエントリを使用すると思いますが、私はterminfoに精通していません。ここに指示が必要です。