Can I make strings default to Unicode?

  • We have code that produces insert and update statements that include strings that should have been preceded by N to signify Unicode, but they aren't. This wasn't detected until Far East users started doing translations and we ended up with a lot of ??????? data values. The best answer would be to fix all the code, but I am wondering if there is a fix we can apply to make the database inerpret strings as if they had the N prefix by default. We are using C# and .Net to develop applications, but I don't think that matters with the submitted statements. I think that they make it to the server intact. Is there a server or database setting we could apply?

    thanks!

    Andy

  • You could try setting the default collation to an extended character set. Not sure if that would work, but it might be worth testing on a dev server.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • Collation is another battle I have scars from already. This is actually a SQL Express application and I had to write the install for the product and SQL Express. Because of other interesting coding practices I had to force it to the Latin collation everywhere.

  • In that case, I'm pretty sure you're going to be stuck with making sure all necessary variables are declared NChar/NVarchar, that you have N before any string-literals, etc.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

Viewing 4 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply