Autohotkey 파일 저장시 한글 깨짐 현상
유니코드 인코딩을 ANSI 인코딩으로 변환하는 방법이 필요합니다.
FileRead,var,UTF.txt
Transform,Clipboard,Unicode,%var%
sleep,300
msgbox,%Clipboard%
return
혹은
*공식포럼에서 가져왔습니다*
Utp-8 ㅡ> Ansi (by Sean)
TransForm과 기능은 같습니다.
FileRead, UTP_8, C:\Utp.txt
MsgBox, % UTF82Ansi(UTP_8)
=========================================
UTF82Ansi(zString)
{
Ansi2Unicode(zString, wString, 65001)
Unicode2Ansi(wString, sString, 0)
Return sString
}
Ansi2Unicode(ByRef sString, ByRef wString, CP = 0)
{
nSize := DllCall("MultiByteToWideChar"
, "Uint", CP
, "Uint", 0
, "Uint", &sString
, "int", -1
, "Uint", 0
, "int", 0)
VarSetCapacity(wString, nSize * 2)
DllCall("MultiByteToWideChar"
, "Uint", CP
, "Uint", 0
, "Uint", &sString
, "int", -1
, "Uint", &wString
, "int", nSize)
}
Unicode2Ansi(ByRef wString, ByRef sString, CP = 0)
{
nSize := DllCall("WideCharToMultiByte"
, "Uint", CP
, "Uint", 0
, "Uint", &wString
, "int", -1
, "Uint", 0
, "int", 0
, "Uint", 0
, "Uint", 0)
VarSetCapacity(sString, nSize)
DllCall("WideCharToMultiByte"
, "Uint", CP
, "Uint", 0
, "Uint", &wString
, "int", -1
, "str", sString
, "int", nSize
, "Uint", 0
, "Uint", 0)
}