2013-10-03 5 views
0

xslx 문서에서 데이터를 읽는 중 특이한 문제가 발생했습니다. 문서의 데이터에 원 안에 'TM'기호가 있습니다. 이것을 읽으면 대문자 'T'로 나온다. 내가 지금 같은 데이터를 읽을 EPPlus 라이브러리를 사용하고 있습니다 :상표 기호가 대문자로 표시됩니다. T

var existingFile = new FileInfo(filePath); 

       using (var package = new ExcelPackage(existingFile)) 
       { 
        ExcelWorkbook workBook = package.Workbook; 
        ExcelWorksheet currentWorksheet = workBook.Worksheets.First(); 

        foreach (var item in currentWorksheet.Cells) 
        { 
         Console.WriteLine(item.Value); 
        } 
       } 

모든 단서가/제안 크게 감사합니다.

감사합니다.

답변

1

Windows 콘솔은 유니 코드를 지원하지 않으며 모든 출력이 비 유니 코드 응용 프로그램 (ASCII 기반)의 기본 시스템 로캘로 자동 변환됩니다.

Console.WriteLine("™"); 

을하지만 유니 코드로 파일에 동일한 문자열을 절약 할 수 있다면, ™ 올바르게 저장됩니다 : ASCII에는 '™'기호가 없습니다, 다음 코드에 T를 인쇄 할

System.IO.File.WriteAllText("text.txt", "™"); 
System.Diagnostics.Process.Start("text.txt"); 
0

나는 당신의 디스플레이 글꼴의 한계를 생각한다. 보이는 TM 기호는 유니 코드 문자 2122 => ™ 또는 &#0153 (html)입니다.

일부 글꼴은 높은 코드를 잘 표시하지 않습니다. 모노 글꼴 대신 Arial을 사용해보십시오. 차이점을보실 수 있습니다. Windows의 문자표 도구가 실제로 도움이됩니다.

다른 옵션은 기호 글꼴 집합의 기호 일 수 있습니다. 당신은 항상 당신이 가지고있는 char의 유니 코드 문자를 찾기 위해 C#를 사용할 수 있습니다.

관련 문제