Re: BUG #18735: Specific multibyte character in psql file path command parameter for Windows
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Tatsuo Ishii <ishii@postgresql.org>
Cc: koichi.dbms@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2024-12-07T00:07:41Z
Lists: pgsql-bugs
Tatsuo Ishii <ishii@postgresql.org> writes: > I think the encoding we need to supply to canonicalize_path() is not > necessarily the same as client_encoding. For example we could set > client_encoding to UTF-8 but use a file which has Shift-JIS encode > file name. I think what we really need to supply to > canonicalize_path() is the "file system encoding", not > client_encoding. That was what I was thinking yesterday, but seems to me it could not really work to have client_encoding set to UTF-8 while you're trying to type an SJIS file name. Even if your terminal program doesn't mangle anything, it's likely that psqlscan.l will. I suppose if we think that's the situation, we could try to translate the file path names from UTF8 to SJIS. But that's a chunk of functionality that doesn't exist right now, plus I'm afraid it'd often make things worse not better. We don't have nearly as much certainty as we could wish about which encoding incoming data is in. regards, tom lane
Commits
-
Avoid breaking SJIS encoding while de-backslashing Windows paths.
- b17e3970c1ac 15.11 landed
- 998c4fc7c2c8 16.7 landed
- 98df8bace8a3 13.19 landed
- 6cddecdfb00b 18.0 landed
- 54f9afea7a7d 14.16 landed
- 0b713b94b3b0 17.3 landed