2012-09-15 4 views
0

NSIS 유니 코드 버전을 사용하고 있으며 기존 유니 코드 파일 (UTF-16LE)에 문자열을 추가하려고합니다.문자열을 유니 코드 파일로 작성하십시오.

내 문제 : 파일에 문자열을 쓰고 파일을 연 후, 필자가 작성한 문자열은 그냥 삐걱 거리는 소리입니다. 나는 ANSI 문자열을 UTF-16LE 파일에 쓰려고한다는 느낌이 들었다.

어떻게 유니 코드 파일에 문자열을 쓸 수 있습니까?

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 

답변

0

당신은 UTF-16LE 파일을 처리하는 경우 오히려 ANSI 텍스트를 기록 FileWrite,보다, 유니 코드 텍스트를 기록하는, FileWriteUTF16LE을 사용해야합니다.

관련 문제