Converting a SQL Server 2005 database to accept Russian characters/Multilingual characters

March 30th, 2011    •  by Dave    •   3 Comments »

On one of my recent contracts I was required to convert an existing SQL Server 2005 database to accept Russian Characters.  I did some investigating and came up with the following for anybody facing a similar problem, needing to allow forgeign characters into their database system.

  1. The collation on the database must be set to cyrillic to accept the Russian characters.  I ended up using the CYRILLIC_GENERAL_CI_AS collation set.  The CI stands for CASE INSENSTIVE and the AS stands for ACCENT SENSTIVE.  You’ll have to determine which collation set works best for your software solution.
  2. To accept the new unicode fields all CHAR or VARCHAR database fields will have to be changed to NCHAR or NVARCHAR.   The NCHAR and NVARCHAR fields allow for unicode characters to be accepted into the field.  Normal CHAR and VARCHAR characters can only accept ASCII values.  If you are unfamiliar with ASCII versus Unicode I recommend you read the following article.  “The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
  3. Any indexes that rely on any converted CHAR or VARCHAR field will have to be re-built.  I had to actually physically drop some indexes and re-create them.

Hope that helps some people with their database conversion.  I’ll eventually write an article about what needs to the done in .NET for localization to get the software gui ready for different languages as well.

3 Responses to “Converting a SQL Server 2005 database to accept Russian characters/Multilingual characters”

  1. Dimoras says:

    Oh thanks, for the russian version of my website, i searched just this

  2. kir says:

    tx. it helps me

  3. UmHamsa says:

    Dear sir

    i try this CREATE TABLE RussianConcept
    ID int,

    Russian Nvarchar(500) COLLATE Cyrillic_General_CI_AS_KS not null,


    but still get the Russain column like ‘?????????/’

Leave a Reply