У мене є сервер telnet, який дозволяє користувачеві вказувати кодування для зв'язку. Потім сервер буде використовувати це кодування для зв'язку, якщо він підтримується.
Я спробував наступні кодування, у яких всі виробляли сміття з символів Unicode на цілі:
- CP-1252
- UTF-8
- Latin1
Сервер також дозволяє мені перераховувати всі кодування разом з ěščřžýáíé
символи, щоб перевірити, який з них буде працювати. Це вихід у Windows Telnet:
UTF-8: ─Ť┼í─Ź┼Ö┼ż├Ż├í├ş├ę
ISO-8859-1: ?????řßÝÚ
latin1: ?????řßÝÚ
CP819: ?????řßÝÚ
IBM819: ?????řßÝÚ
iso-ir-100: ?????řßÝÚ
csISOLatin1: ?????řßÝÚ
ISO-8859-15: ?Ę??ŞřßÝÚ
latin9: ?Ę??ŞřßÝÚ
☺Y☺~☺řßÝÚ a☺
☺Y☺~řßÝÚE: ☺☺a☺
☺Y☺~☺řßÝÚ☺
☺Y☺~☺řßÝÚa☺
☺Y☺~řßÝÚE: ☺a☺
☺Y☺~☺řßÝÚ
System:
Big5-HKSCS: n????? h q m
Big5: ?????????
Big5-ETen: ?????????
CP950: ?????????
windows-949: ?????????
CP949: ?????????
EUC-KR: ?????????
Shift_JIS: ?????????
SJIS: ?????????
MS_Kanji: ?????????
ISO-2022-JP: ?????????
JIS7: ?????????
EUC-JP: ?????????
GB2312: ?????
GBK:
CP936:
MS936:
windows-936:
GB18030: 0 8 0 0 0 0 0 6 0 5
hp-roman8: ? ???
roman8: ? ???
csHPRoman8: ? ???
TIS-620: ?????????
ISO 8859-11: ?????????
WINSAMI2: ? ?
WS2: ? ?
macintosh: ??????
Apple Roman: ??????
MacRoman: ??????
windows-1258: ??????
CP1258: ??????
windows-1257: ? ? ???
CP1257: ? ? ???
windows-1256: ????????
CP1256: ????????
windows-1255: ?????????
CP1255: ?????????
windows-1254: ? ????
CP1254: ? ????
windows-1253: ?????????
CP1253: ?????????
windows-1252: ? ??
CP1252: ? ??
windows-1251: ?????????
CP1251: ?????????
windows-1250:
CP1250:
IBM866: ?????????
CP866: ?????????
csIBM866: ?????????
IBM874: ?????????
CP874: ?????????
IBM850: ?????
CP850: ?????
csPC850Multilingual: ?????
ISO-8859-16: ? ? ?
iso-ir-226: ? ? ?
latin10: ? ? ?
ISO-8859-14: ?????
iso-ir-199: ?????
latin8: ?????
iso-celtic: ?????
ISO-8859-13: ? ? ???
ISO-8859-10: ? ?
iso-ir-157: ? ?
latin6: ? ?
ISO-8859-10:1992: ? ?
csISOLatin6: ? ?
ISO-8859-9: ??????
iso-ir-148: ??????
latin5: ??????
csISOLatin5: ??????
ISO-8859-8: ?????????
ISO 8859-8-I: ?????????
iso-ir-138: ?????????
hebrew: ?????????
csISOLatinHebrew: ?????????
ISO-8859-7: ?????????
ECMA-118: ?????????
greek: ?????????
iso-ir-126: ?????????
csISOLatinGreek: ?????????
ISO-8859-6: ?????????
ISO-8859-6-I: ?????????
ECMA-114: ?????????
ASMO-708: ?????????
arabic: ?????????
iso-ir-127: ?????????
csISOLatinArabic: ?????????
ISO-8859-5: ?????????
cyrillic: ?????????
iso-ir-144: ?????????
csISOLatinCyrillic: ?????????
ISO-8859-4: ? ? ?
latin4: ? ? ?
iso-ir-110: ?╣Ŕ?ż?ßÝÚ
csISOLatin4: ?╣Ŕ?ż?ßÝÚ
ISO-8859-3: ??????ßÝÚ
latin3: ??????ßÝÚ
iso-ir-109: ??????ßÝÚ
csISOLatin3: ??????ßÝÚ
ISO-8859-2: ý╣Ŕ°żřßÝÚ
latin2: ý╣Ŕ°żřßÝÚ
iso-ir-101: ý╣Ŕ°żřßÝÚ
csISOLatin2: ý╣Ŕ°żřßÝÚ
З putty, це явно працює, і правильним є UTF-8. Це те, що я отримую, використовуючи шпаклівка (я відрізав решту довгого списку):
UTF-8: ěščřžýáíé
ISO-8859-1: ?????▒▒▒▒
latin1: ?????▒▒▒▒
CP819: ?????▒▒▒▒
IBM819: ?????▒▒▒▒
iso-ir-100: ?????▒▒▒▒
csISOLatin1: ?????▒▒▒▒
ISO-8859-15: ?▒??▒▒▒▒▒
latin9: ?▒??▒▒▒▒▒
Y~▒▒▒▒LE:
Y~▒▒▒▒2BE:
Там може бути проблемою на сервері, але, щоб розглянути цю можливість, мені спочатку потрібно знати, яке кодування дійсно використовує клієнт Microsoft Telnet. Яке це кодування? Чи зберігається вона в деяких системних змінних?
The NVT is intended to strike a balance between being overly restricted (not providing hosts a rich enough vocabulary for mapping into their local character sets), and being overly inclusive (penalizing users with modest terminals).
він також стверджує The code set is seven-bit USASCII in an eight-bit field, except as modified herein. Any code conversion and timing considerations are local problems and do not affect the NVT.
в Мережевий віртуальний термінал