L0ckz0r
L0ckz0r

Reputation: 169

SQL NVARCHAR(MAX) returning ASCII and Weird Characters instead of Text

I have an SQL Table and I'm trying to return the values as a string. The values should be city names like Sydney, Melbourne, Port Maquarie etc.

But When I run a select I either get black results or as detailed in the first picture some strange backwards L character. The column is an NVARCHAR(MAX)

SELECT ctGlobalName FROM Crm.Cities

enter image description here

Then I tried using MSSQL's Edit top 200 rows feature and I could see the names of the cities, but also all these weird ascii characters.

enter image description here

Now I didn't create the database, I'm just running queries on it. Some things I've read have suggested it is a problem with the Collation. But the table is SQL_Latin1_General_CP1_CI_AS which matches the server collation.

I'm sure there must be something I can add to my select query to return the values as an ordinary string. Is there something I can do to my select query to return the expected format without the weird characters?

Upvotes: 2

Views: 1724

Answers (1)

Nathan Griffiths
Nathan Griffiths

Reputation: 12776

An NVARCHAR datatype can store Unicode characters, which are used for languages that are not supported by the ASCII character set i.e. non-English (or related) languages such as Chinese or Indonesian. If your SQL Server or Windows doesn't have that language installed then you might see strange-looking representations of the data.

On the other hand, it could also be that the application that updates this table has just stored bad data in that column.

Either way you might need to do some string manipulation to strip out the characters you don't want.

Upvotes: 1

Related Questions