I have a table defined with this column:
Gift_Message_Txt VARCHAR(1000) CHARACTER SET LATIN NOT CASESPECIFIC,
My jdbc connection to the database has the following parameter:
I have SOAP service takes input data and writes it to the database column above. I recently had an issue where the input was the following:
Test from iOS. This shouldn’t cause any issue.
I get the following error message:
[Teradata Database] [TeraJDBC 13.10.00.03] [Error 6706] [SQLState HY000] PWBSVC_INS_LYLTY_MBR_GFT_RQST:The string contains an untranslatable character.
Notice the apostrophe above is different from the apostrophe below:
Test from iOS. This shouldn't cause any issue.
The apostrophe in the second case is the one that's available as a key on your keyboard. The apostrophe in the first case came from an iOS application. They're two different charcters.
How can I get the first apostrophe to work?
Thanks in advance.
The first one is U+2019 "Right single quotation mark" which is not in the LATIN repertoire.The second one U+0027 "Apostrophe" is a valid LATIN character.
Both are valid for CHARACTER SET UNICODE; changing the table definition might be the cleanest approach. Otherwise you would need to translate the data before attempting to store it, either in your application or via database function in the INSERT/UPDATE.