문제

Team Foundation Server 2005에 저장된 기존 ASP.NET 2.0 웹 사이트가 있습니다. 일부 페이지/컨트롤 중 일부는 ANSI (메모장 ++에 따라)로 인코딩되고 컨텐츠 유형 헤더가 다음으로 설정됩니다.

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>

모든 페이지를 UTF-8로 변경하고 따라서 컨텐츠 유형 헤더를 다음과 같습니다.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

메타 요소를 변경하는 것 외에도 모든 파일의 인코딩을 변경해야한다고 가정합니다. Notepad ++ 에서이 작업을 수행 할 수 있지만 누군가가 더 빠른 방법이 있으면 언급하십시오.

TFS를 병합/비교할 때 어떤 종류의 문제가 발생할 수 있습니까?

도움이 되었습니까?

해결책

코드베이스의 텍스트가 0..127의 ASCII 범위 외부의 문자를 사용하는 텍스트의 양에 따라 다릅니다.

당신은 그 사람들을 먼저 스캔하여 얼마나 많은 영향을 미칠지 확인할 수 있습니다. 코드베이스가 주로 영어로되어 있다면 걱정할 것이 많지 않을 것입니다.

다른 팁

파이썬 스크립트를 쓸 것입니다

for fn in os.listdir(srcdir):
    data = open(srcdir+"\\"+fn, "rb").read().decode("windows-1252")
    data = data.replace("charset=windows-1252", "charset=utf-8")
    open(srcdir+"\\"+fn, "wb").write(data.encode("utf-8"))

숯의 업데이트는이 특정 문자열이 다른 곳에서는 발생하지 않는다고 가정합니다. 더 긴 문자열을 확인하고, 기존 텍스트가 실제로 파일에 존재하는지 확인하거나 적절한 XML 구문 분석 등을 확인하여 더 강력하게 만들 수 있습니다.

UTF-8 인코딩 된 데이터 앞에 UTF-8 서명을 넣어야 할 수도 있습니다. Codecs.bom_utf8에서 하나를 찾을 수 있습니다

이 변화가 TF에 어떤 결과를 가져 왔는지 모르겠습니다.

방금 발견 한 것은 소스 제어 탐색기에서 파일을 마우스 오른쪽 버튼으로 클릭 한 다음 속성을 선택할 수 있다는 것입니다. 그런 다음 TFS에 관한 한 인코딩을보고/수정할 수 있습니다.

0-127 ASCII 범위 위에 문자가있는 파일을 선택하십시오. 메모장으로 열면 저장 AS를 선택하고 인코딩을 위해 UTF-8을 선택하십시오. 그런 다음 캐릭터가 성공적으로 변환되었는지 확인하십시오.

프로 시저를 자동화하려면 1252를 코드 페이지로 사용하여 모든 파일을 ASCII에서 UTF-8으로 변환하는 응용 프로그램을 작성할 수 있습니다. 127 이상의 캐릭터가 없다면이 모든 것에 대해 걱정할 필요가 없습니다.

이것이 반드시 사실은 아닙니다. ASP.NET에 대해 잘 모르지만 ANSI에서 모든 PHP 코딩을 수행하고 UTF8의 페이지를 제공합니다. 모든 데이터베이스 정보는 UTF8에도 저장됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top