<p>We have in the process of upgrading our application to full Unicode comptibility as we have recently got Delphi 2009 which provides this out of the box.  I am looking for anyone who has experience of upgrading an application to accept Unicode characters.  Specifically answers to any of the following questions.</p>

<ul>
<li>We need to change VarChars to NVarchar, Char to NChar.  Are there any gotchas here.</li>
<li>We need to update all sql statements to include N in front of any sql strings.  So Update tbl_Customer set Name = 'Smith' must become Update tbl_Customer set Name = <strong>N</strong>'Smith' .  Is there any way to default to this for certain Fields.  It seems extraordinary this is still required.</li>
<li>Is it possible to get any defaults set up in SQLServer that will make this simpler?</li>
</ul>

<p>ps We also need to upgrade our Oracle code</p>

Damien
I'm not sure how useful your answer is.  We have a large 700,000 lines of compiled codebase that was written over the last ten years which contains a large number of sql queries.  Most are standardised down to a few functions which are the basis for most of the updates on the database.  These can be updated quite simply.   However we also need to check every where clause for CustomerName = '%s'  which should now be CustomerName = N'%s'
This is a real question which needs a real answer.