Trac, Mantis, Redmine + SVN 소스 한글 깨짐

by Lyn posted Dec 20, 2011
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

Trac, Mantis, Redmine 은 기본적으로 UTF-8을 사용한다.

그러나 VC++은 소스를 ascii로 저장하기 때문에 저장소 연동을 하면 소스에서 한글이 다 박살난 채로 보이게 된다.

이것을 해결하기위해서는 소스를 UTF-8로 저장 해야 되는데, 저장시 자동으로 UTF-8로 변환을 하는 매크로가 있다



MacroIDE -> EnviromentEvents에


Imports System.IO


추가 한다. 그 아래에


Sub MakeUTF8File(ByVal path As String)

    Dim input As New FileStream(path, FileMode.Open)


    'Check BOM

    Dim isUTF8 As Boolean = (input.ReadByte = &HEF And input.ReadByte = &HBB And input.ReadByte = &HBF)

    input.Close()


    If (Not isUTF8) Then

        Dim s As String

        s = File.ReadAllText(path, System.Text.Encoding.Default)

        File.WriteAllText(path, s, System.Text.Encoding.UTF8)

    End If

End Sub


Public Sub DocumentEvents_DocumentSaved(ByVal Document As EnvDTE.Document) Handles DocumentEvents.DocumentSaved

    Dim path As String = Document.FullName

    MakeUTF8File(path)

End Sub


를 추가한다.



PS. trac은 지금 안 쓰고있어 확인이 안되는데 redmine 은 그냥 소스 인코딩을 추가해주면 간단히 해결된다 (...) 걍 euc-kr 등록해두자