Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I have new sql server database which need to have support in 3 differnt languages which collation i need to choose if i want my database to support both hebrew or arabic and also english and also french?

share|improve this question

migrated from stackoverflow.com Feb 16 '12 at 14:23

This question came from our site for professional and enthusiast programmers.

2 Answers 2

  • Language support comes from datatype: use nvarchar/nchar (which stored unicode basically)
  • Collation is sorting + comparing + non-unicode code page

So, one column can store all languages, but it can have only one collation. You can "add" extra collations using computed columns, or coerce it during a sort/compare using the COLLATE clause:

Example

ORDER BY
    LatinCollationCol COLLATE Arabic_CI_AI_KS = N'عربي/عربى';
share|improve this answer
    
I was trying to create schema for language. below is the code create table #temp ( str Nvarchar(100) COLLATE Arabic_CI_AI_KS ) insert into #temp(str)values('عربي/عربى') select * from #temp drop table #temp BUT it is showing me question marks only... –  Pankaj Garg Feb 16 '12 at 9:12
    
You need N before literals to say "this is unicode". Like my example... –  gbn Feb 16 '12 at 9:20
    
Ya.Thanks. I just checked. But, I think no need to mention collate in order by clause as well as in schema. Just NVarchar type is enough for column. –  Pankaj Garg Feb 16 '12 at 9:23
    
This is updated one create table #temp ( str Nvarchar(100) ) insert into #temp(str)values(N'عربي/عربى') select * from #temp drop table #temp –  Pankaj Garg Feb 16 '12 at 9:25
    
@PankajGarg: if you want to sort the English/French/Hebrew way, or compare like these languages, then you will. That is, if the sort/compare doesn't match the column collation, you'll need a COLLATE clause –  gbn Feb 16 '12 at 9:36

You should use UTF8

On this link you will see hebrew, arabic, and french language encoded with UTF8 : http://www.unics.uni-hannover.de/nhtcapri/multilingual1.html

share|improve this answer
    
SQL Server doesn't support utf-8... it uses UCS-2 –  gbn Feb 16 '12 at 9:05
    
mea culpa, I had forgot that fact... –  niusha Feb 16 '12 at 9:10

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.