Revision: 10800 https://osdn.net/projects/ttssh2/scm/svn/commits/10800 Author: zmatsuo Date: 2023-07-08 01:09:54 +0900 (Sat, 08 Jul 2023) Log Message: ----------- 不正なUTF-8を受信したとき出力する文字コードを U+FFFD に変更した - U+FFFD REPLACEMENT CHARACTER - 変更前は "?" だった ticket #48226 Ticket Links: ------------ https://osdn.net/projects/ttssh2/tracker/detail/48226 Modified Paths: -------------- trunk/teraterm/teraterm/charset.cpp -------------- next part -------------- Modified: trunk/teraterm/teraterm/charset.cpp =================================================================== --- trunk/teraterm/teraterm/charset.cpp 2023-07-06 14:45:17 UTC (rev 10799) +++ trunk/teraterm/teraterm/charset.cpp 2023-07-07 16:09:54 UTC (rev 10800) @@ -47,10 +47,8 @@ #include "charset.h" // UTF-8\x82\xAA\x95s\x90\xB3\x82Ȓl\x82\xBE\x82\xC1\x82\xBD\x8E\x9E\x82ɕ\\x8E\xA6\x82\xB7\x82镶\x8E\x9A -#define REPLACEMENT_CHARACTER '?' -//#define REPLACEMENT_CHARACTER 0x2592 -//#define REPLACEMENT_CHARACTER 0x20 -//#define REPLACEMENT_CHARACTER 0xfffd +#define REPLACEMENT_CHARACTER 0xfffd // REPLACEMENT CHARACTER +//#define REPLACEMENT_CHARACTER 0x2e2e // Reversed Question Mark (VT382) typedef struct CharSetDataTag { /* GL, GR code group */ @@ -329,7 +327,7 @@ } break; case IdUTF8: - w->Op.PutU32(REPLACEMENT_CHARACTER, w->ClientData); + w->Op.PutU32(w->replacement_char, w->ClientData); break; default: w->Op.ParseControl(b, w->ClientData); @@ -344,7 +342,7 @@ } break; case IdUTF8: - w->Op.PutU32(REPLACEMENT_CHARACTER, w->ClientData); + w->Op.PutU32(w->replacement_char, w->ClientData); break; default: w->Op.ParseControl(b, w->ClientData); @@ -538,7 +536,7 @@ } else if ((b>=0x20) && (b<=0x7E)) { w->Op.PutU32(b, w->ClientData); } else if ((b==0x8E) || (b==0x8F)) { - w->Op.PutU32(REPLACEMENT_CHARACTER, w->ClientData); + w->Op.PutU32(w->replacement_char, w->ClientData); } else if ((b>=0x80) && (b<=0x9F)) { w->Op.ParseControl(b, w->ClientData); } else if (b>=0xA0) {