On Wed, 2023-10-04 at 14:02 -0400, Chapman Flack wrote: > The SQL standard would have me able to: > > CREATE TABLE foo ( > a CHARACTER VARYING CHARACTER SET UTF8, > b CHARACTER VARYING CHARACTER SET LATIN1 > ) > > and so on, and write character literals like > > _UTF8'Hello, world!' and _LATIN1'Hello, world!'
Is there a use case for that? UTF-8 is able to encode any unicode code point, it's relatively compact, and it's backwards-compatible with 7- bit ASCII. If you have a variety of text data in your system (and in many cases even if not), then UTF-8 seems like the right solution. Text data encoded 17 different ways requires a lot of bookkeeping in the type system, and it also requires injecting a bunch of fallible transcoding operators around just to compare strings. Regards, Jeff Davis