2009-11-04 2 views
2

사용자가 특정 필드에 히브리어 문자를 입력 할 수있게하려고합니다 (java로 처리). 나는 몇 가지 조사를했다, 다음의 태그를 HTML 문서의 일부가 될 필요가 있음이 분명하다 : 사용자가 입력 히브리어 텍스트를 입력 할 때 :데이터베이스와 외국어 문자 전달

진행되고 그건
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

, 나는 다음과 같은 결과를 데 필드에 저장되면 히브리어로 제대로 저장되고 화면에 표시됩니다. 그러나 데이터베이스의 데이터를 보면 알 수 없습니다. 또한, 파일 (iText 사용)로 출력하려고하면 횡설수설합니다. 그러나 데이터를 데이터베이스에 곧바로 입력하면 출력 파일뿐만 아니라 데이터베이스의 히브리어에서도 읽을 수 있지만 화면에서 횡설수설합니다.

샘플 : עִבְרִית 데이터베이스에 입력 할 때

같은 문자열, 화면에 다음과 같이 나타납니다 : 사용자가 브라우저에 입력 한 경우, 그것은 다음과 같이 나타납니다 Ѱ

데이터베이스에서 찾고, 브라우저 입력 된 문자열은 다음과 같습니다 × ¢ 달성 할 × Ö ° × 달성 할 ×× ª

수동으로 입력 문자열은 다음과 같이 나타납니다 עִבְרִית (가 왼쪽 보이지만 히브리어는 오른쪽에서 왼쪽으로 쓰는 언어이므로 여기에 복사하여 붙여 넣으면 올바르게 표시되지만, 오른쪽에서 왼쪽으로)

분명히 데이터베이스와 브라우저는이 인코딩과 동일한 언어를 "말하는"것이 아닙니다. SQL Server를 사용하고 있고 문제의 필드가 nvarchar 필드로 정의되어 있는지 확인하는 것 외에 데이터베이스를 변경하지 않았습니다. 내가 뭘 놓치고 있니?

답변

1

데이터베이스 인코딩이 올바르게 설정되지 않은 것처럼 들립니다. 데이터베이스가 8859-1 (일반적인 기본 인코딩 체계) 만 예상하면 utf-8을 8859-1로 변환합니다. 이것은 종종 잘 작동하지 않습니다. 도움말 및 링크에 대한 http://support.microsoft.com/kb/232580

래리

+0

감사 : 여기

이 문제에 MS에서 기사입니다. 이 기사를 읽었을 때 문제를 설명했지만 해결 방법을 찾을 수 없었습니다. UTF-16 (UCS-2, 기사의 주장은 SQL Server 2000에서 사용함)을 사용하도록 HTML을 변경하거나 SQL Server에서 UTF-8을 이해하도록하려면 어떻게합니까? 문자열을 UTF-16으로 변환하려고했지만 작동하지 않는 것 같습니다. – twpc

+0

MS 문서 (옵션 4)에 나와있는 것처럼 DB 필드를 Binary/VARBINARY/IMAGE로 설정하려고 했습니까? –

+0

네, 그랬습니다. 데이터베이스에서 읽을 수 있도록 만들지 않았습니다. 그러나이 기사에서는 UTF-8로 데이터를 변환하는 데 필요한 코드가 포함되어 있습니다. 흥미롭게도 UTF-8과 ISO-8859-1 사이의 변환은 UTF-8과 UTF-16은 위에있는 MS의 기사에서 암시 된 바와 같습니다. 이것은 같은 이슈를 가지고 있고 자바를 사용하는 사람들에게 꼭 읽어야합니다 : http://www.jguru.com/faq/view.jsp?EID=137049 – twpc

관련 문제