Re: Invalid byte sequence for encoding "UTF8", caused due to non wide-char-aware downcase_truncate_identifier() function on WINDOWS

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Jeevan Chalke <jeevan.chalke@enterprisedb.com>, pgsql-hackers@postgresql.org
Date: 2011-06-09T14:15:07Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Thu, Jun 9, 2011 at 10:07 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> We are relying on isupper() to not return true
>> when presented with a character fragment in a multibyte locale.

> Based on Jeevan's original message, it seems like that's not always
> the case, at least on Windows.

Hmm.  Now that you mention it, I think the same has been said about OSX.

If we need to work around brain-dead isupper() tests, maybe the best
thing is to implement two versions of the loop:

	if (encoding is single byte)
		... loop as it stands ...
	else
		... loop without the "else if" part

			regards, tom lane