2010-08-03 6 views
1

간단히 말해서 SQL 데이터베이스에서 값을 읽고이를 탭으로 구분 된 텍스트 파일에 쓰는 프로그램이 있습니다.문자열의 특수 문자 수정

데이터베이스의 일부 값에 특수 문자 (TM, 대시, 줄임표 등)가있는 것이 문제입니다. 텍스트 파일에 쓰면 서식이 손실되어 정크 "â"또는 "etc"

값을 직접 실행 창에서 볼 때 txt 파일에 기록되기 전에 모든 것이 잘 보입니다. 내 생각 엔이 인코딩 문제입니다. 그러나 나는 어떻게 진행해야하는지, 어디에서 보는지, 무엇을 찾아야 할지를 확신 할 수 없습니다.

이 ASCII 또는 UTF-8입니까? 그 중 하나라면 텍스트 파일에 기록되기 전에 어떻게 수정해야합니까? 나는 (feedStr은 모두 StringBuilder 임)

objReader = New StreamWriter(filePath) 
objReader.Write(feedStr) 
objReader.Close() 

답변

2

에서는 StreamWriter에 대한 기본 인코딩 (NO 바이트 순서 마크) UTF8있는 텍스트 파일을 작성 방법은 다음과

입니다. 결과 파일은 괜찮습니다. 질문은 나중에 열어 볼까요? UTF8 지원 텍스트 편집기에서 열면 문자가 원하는 모양이됩니다.

는 또한 예를 들어 ISO-8859-1 (라틴)

objReader = New StreamWriter(filePath, false, Encoding.GetEncoding("iso-8859-1")) 
+0

미카엘, 당신이 사람이야을 위해, 다른 인코딩의 텍스트 파일을 작성할 수 있습니다! 그것은 매력처럼 작동했습니다! 완벽한 대답! – s15199d

+0

ALMOST ... Encoding으로 변경했습니다 .GetEncoding ("utf-8") 모든 특수 문자를 수정했습니다. 그러나 이제는 ControlChars.Tab 구분 기호가 붙어 있습니다. FYI ... 내 출력 파일은 UTF-8로 인코딩해야하며 b/c는 Google에 전송되며 필수 형식입니다. – s15199d

+0

GetEncoding 대신 Encoding.UTF8을 사용할 수 있습니다. –