I tried the suggestions mentioned (here) to check for the rows with non-utf8 characters in a column. I compared this by comparing the LENGTH
and LENGTHB
values of the column. However, there are around thousands of rows as such.
For one such row, the value in the column was alphanumeric with only one special character i.e. the pound symbol -> £ . (There are other records as well with the bullet listing symbol found in MS Word which come as in Notepad++)
I used function RAWTOHEX on the column and the output did have C2A3 which is the representation of £ symbol. I'm confused as to how do I prove that it is a non-utf8 character, and on second thoughts is the method of comparing the length of the column the right way to find out?
Note:
SELECT * FROM NLS_DATABASE_PARAMETERS;
----------------------------------------
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_CHARACTERSET AL32UTF8
PS: I am using SQL developer, but I am not an oracle developer.