2010-05-21 6 views
20

아랍어 문자를 SQL 데이터베이스에 어떻게 삽입합니까? 테이블에 아랍어 데이터를 넣으려고했는데 삽입 스크립트의 아랍어 문자가 표에 '??????'으로 삽입되었습니다.아랍어 문자를 SQL 데이터베이스에 삽입하는 방법은 무엇입니까?

SQL 관리 스튜디오를 통해 테이블에 데이터를 직접 붙여 넣으려고했는데 아랍어 문자가 성공적으로 삽입되었습니다.

이 문제에 대한 해결책을 찾기 위해 일부 스레드에서 데이터 형식을 varchar 대신 nvarchar으로 변경하도록 제안했습니다. 나는 이것을 시험해 보았지만 행운이 없었다.

어떻게 아랍어 문자를 SQL 데이터베이스에 삽입 할 수 있습니까?

+0

어떻게 당신이 그것을하지 않았다 알고 작업? 아마도 쿼리 프로그램이 유니 코드 문자를 인쇄 할 수 없습니다. 어떤 프로그램이 "????"을 보여 줍니까? 유니 코드가 제대로 표시되는지 어떻게 알 수 있습니까? –

+0

SQL 관리 스튜디오에서 행을 쿼리하면 '????'로 표시됩니다. 내 프로그램에 반영됩니다. – pavanred

답변

40

필드에 유니 코드 문자를 저장할 수 있으려면 nvarchar 유형 (또는 ntext, nchar과 같은 기타 유형)을 사용해야합니다.

데이터베이스에 유니 코드 문자를 삽입하려면 nvarchar/SqlDbType.NVarChar과 같은 매개 변수 유형을 사용하여 유니 코드로 텍스트를 보내야합니다.

은 (완전성의 경우 :() 일반적인 조언에 대해 동적 SQL을 작성하는 경우, 당신은 유니 코드를 만들기 위해 문자열 리터럴 전에 N을 넣어 예를 들면 다음과 같습니다.. insert into table (name) values (N'Pavan'))

+0

+1 예를 들어. Guffa에게 감사드립니다. 접두사 'N'을 제안하는 또 다른 스레드가있었습니다. 그러나 정확히 어디에서해야 할 지 잘 모르겠습니다. – pavanred

+1

귀하의 완전성 부분에 대한 +1, 매우 유익한. –

+0

+1에 대한 'SqlDbType.NVarChar' –

관련 문제