내 응용 프로그램을 현지화하고 있으며이를 통해 사용자에게 알리는 메시지 상자가 있습니다. 텍스트 영역에 중국어 문자를 포함 시키면 VS2010에서 디버깅 할 때 제곱 한 묶음처럼 보이지만 속성에 바인딩 된 객체를 통해 UI에 표시 될 때 적절한 문자로 변환됩니다. 그러나 코드가 직접 messagebox.show ("중국어 문자")를 호출하면 빈 사각형이 표시됩니다. 왜 이런거야?Silverlight MessageBox.Show()가 한자를 표시하지 않습니다.
0
A
답변
2
Silverlight에는 "double bytes"같은 것이 없습니다. 모든 문자열은 utf-16으로 인코딩됩니다. 더블 바이트는 CJK 텍스트를 인코딩하는 방법을 찾기 위해 8 비트 코드 페이지에서 해킹 된 것입니다. 인코딩 된 텍스트는 Encoding 클래스를 사용하여 utf-16으로 변환해야합니다.
문자가 잘못된 인코딩으로 인해 제어 코드이기 때문에 사각형으로 표시된 텍스트를 볼 수 있습니다. 또는 컴퓨터에 설치된 글꼴의 글리프 지원이 누락되었습니다. 너무 빠르게 사라지는 문제이기도합니다. 보통은 동아시아 글꼴 지원이 설치되지 않은 상태에서 XP에서만 사용할 수 있습니다.
관련 문제
- 1. MessageBox.Show가 HelpRequested 이벤트를 발생시키지 않습니다.
- 2. Silverlight Grid가로드되었지만 데이터를 표시하지 않습니다.
- 3. silverlight pivotviewer 컨트롤에서 타일을 표시하지 않습니다.
- 4. Silverlight WrapPanel이 항목을 일관되게 표시하지 않습니다.
- 5. MessageBox.Show가 설정 프로젝트에서 모달이 아닙니다.
- 6. 한자를 읽는 방법?
- 7. MessageBox.Show가 UnhandledException을 일으키는 이유는 무엇입니까?
- 8. Silverlight 콤보 박스에서 바인딩 된 항목을 표시하지 않습니다.
- 9. Silverlight 5 PivotViewer 컨트롤에서 cxml의 이미지 타일을 표시하지 않습니다.
- 10. Silverlight 툴킷 차트 : 축이 항상 0과 최대 값을 표시하지 않습니다
- 11. Silverlight datagrid는 익명 쿼리를 사용하여 데이터를 표시하지 않습니다. RIA 서비스
- 12. Silverlight Datagrid에서 왜 데이터를 표시하지 않습니까?
- 13. Lint는 프로젝트 오류를 표시하지 않지만 표시하지 않습니다.
- 14. Datagrid가 데이터베이스를 표시하지 않고도 데이터를 표시하지 않습니다.
- 15. Perl에서 한자를 어떻게 일치시킬 수 있습니까?
- 16. putImageData가 이미지를 표시하지 않습니다.
- 17. UISearchBarDisplayController가 키보드를 표시하지 않습니다.
- 18. 에뮬레이터에서 APP를 표시하지 않습니다
- 19. MapView가 오버레이를 표시하지 않습니다.
- 20. UITableView가 데이터를 표시하지 않습니다.
- 21. 오류 메시지를 표시하지 않습니다.
- 22. munin이 그래프를 표시하지 않습니다
- 23. AsyncTask가 onPreExecute를 표시하지 않습니다.
- 24. CJuiDialog에서 단추를 표시하지 않습니다.
- 25. IE8이 swf를 표시하지 않습니다
- 26. Joomla가 메뉴를 표시하지 않습니다.
- 27. Google지도 CSS가지도를 표시하지 않습니다.
- 28. SourceTree는 내역을 표시하지 않습니다.
- 29. () 라벨을 표시하지 않습니다
- 30. phpMyAdmin 테이블을 표시하지 않습니다.
글자는 번역자에서 유래했으며 Excel 스프레드 시트에서 제공 되었기 때문에 아마도 유니 코드입니다. 스프레드 시트에서 열이 nvarchar 인 테이블로 데이터를 가져옵니다. 내 프로그램에 데이터를로드하고 속성에 할당 한 다음 중국어로 표시되는 화면의 텍스트 블록에 바인딩합니다. 대신 문자열을 사용하여 MessageBox.Show (ChineseCharacterString)를 시작하면 상자 묶음이 대신 표시됩니다. 그 과정의 어떤 부분을 잘못 추측하고 있습니까? – Josh
어. 아무 생각도, 바이트가 아닌 문자열을 쫓아. –
오늘날 베테랑으로서 말하면서, 오늘날 우리가 가지고있는 더 작은 멀티 바이트 인코딩 세트 (UTF-8, UTF-16, UTF-32)와는 달리, 실제로는 해킹이 아니고 많은 멀티 바이트 인코딩이 필요했습니다. . 이제 특정 언어가 12 가지의 별도 인코딩에 동의 할만큼 충분히 행동을 취할 수없는 경우 ... –