The UTF-8 characters (nearly a million records) were imported into varchar(max) as western european. Is there any known method of fixing this in SQL? We have verified that the "garbage" characters that are showing up are, in fact, based on the incorrect characters in the Western European encoding representing the UTF-8 hexidecimal values. It would seem that the underlying hexidecimal in varchar field is correct. Ideally we would like to be able to fix this in SQL rather than re-importing the data.
You'll need to re-import the data directly into an nvarchar column.
I've only seen application-side coding conversions used to fix the scenario you described (converting from UTF-8 to UTF16 or UCS2 format).