0

NSIS Unicodeバージョンを使用していて、既存のUnicodeファイル(UTF-16LE)に文字列を追加しようとしています。

私の問題:ファイルに文字列を書き込んでからファイルを開いた後、私が書いた文字列はただのぎこちないものです。ANSI文字列をUTF-16LEファイルに書き込もうとしているような気がします。

Unicodeファイルに文字列を書き込むにはどうすればよいですか?

Function ${prefix}AppendFile 
    # Note: Will automatically create file if it doesn't exist
    # $0 = fName
    # $1 = strToWrite

    Pop $1
    Pop $0

    ClearErrors
    FileOpen  $3 $0 a
    FileSeek  $3 0 END
    FileWrite $3 "$\r$\n"        # write a new line
    FileWrite $3 "$1"
    FileWrite $3 "$\r$\n"        # write an extra line
    FileClose $3                 # close the file

    IfErrors 0 +2
        MessageBox MB_OK "Append Error: $1 $\r$\n$\r$\n$0"
FunctionEnd
4

1 に答える 1

1

UTF-16LE ファイルを扱っている場合は、ANSI テキストを書き込むFileWriteUTF16LEではなく、Unicode テキストを書き込むを使用する必要があります。FileWrite

于 2012-09-15T00:39:53.210 に答える