Getting the below exception while executing SELECT
query for a particular row on that table
ERROR: character with byte sequence 0xc2 0x81 in encoding "UTF8" has no equivalent in encoding "WIN1252"
One of the column
in that row contains Japanese character which has been encoded with UTF-8 and inserted into it.
Is there any fix for this issue?
UTF-8 (UCS Transformation Format 8) is the World Wide Web's most common character encoding. Each character is represented by one to four bytes. UTF-8 is backward-compatible with ASCII and can represent any standard Unicode character.
You should know what encoding is used in your database.
SHOW server_encoding;
When you connect to your database you can specify what encoding should your client use:
SET client_encoding TO 'UTF8';
If server and client encoding differ, the database driver tries to translate between those two encoding. When it can not find an equivalent character, the error is thrown.
So server encoding and client encoding should be the same to avoid problems like yours.
To fix your problem:
client_encoding
to UTF8To avoid this problem in the future remember to set client_encoding
to proper value when you connect to the database.
Check the documentation on Supported Character Sets.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With