• opc.three (4/11/2013)


    For terminology's sake so we're speaking the same language:

    ANSI = VARCHAR/CHAR

    Unicode = NVARCHAR/NCHAR

    In SQL Server, Unicode = UCS-2

    Still not clear if all your columns are Unicode or whether you have some ANSI columns. If all Unicode then you can stop using the ASCII() function and stick with the UNICODE() function.

    SQL Server will not munge data inserted into Unicode columns. If you're seeing ? marks in a Unicode column then those characters were munged prior to entering the table.

    All I know is that when I bypass the stored procedure (kind of) and just do a straight update from the raw table matching on email address, the Japanese characters display properly in SSMS 2008, and as squares in 2005. Which makes about as much sense as I can ask for.

    If you're feeling charitable, I can post the stored procedure that copies data from raw to process table. Maybe you can make heads or tails of where it "munges" things. If not, I absolutely understand.

    Thanks again