Irssi core bugs

Notice: Undefined index: tasklist_type in /var/www/ : eval()'d code on line 85 Notice: Undefined index: tasklist_type in /var/www/ : eval()'d code on line 90
  • Status Assigned
  • Percent Complete
  • Task Type Bug Report
  • Category recode
  • Assigned To Valentin Batz (senneth)
  • Operating System All
  • Severity Low
  • Priority Normal
  • Reported Version Irssi 0.8.10
  • Due in Version Undecided
  • Due Date Undecided
  • Votes 0
  • Private No
Attached to Project: Irssi core bugs
Opened by Juha-Matti Tilli (juhis) - 2005-12-31
Last edited by Emanuele Giaquinta (ayin) - 2007-11-18

FS#359 - Messages that can be detected as UTF-8 are not sent in UTF-8.

When recode_autodetect_utf8 is set to ON, certain messages can be detected as UTF-8 even if they are sent in other character sets. With the default settings (recode_autodetect_utf8 = ON, recode_out_default_charset empty) irssi sends all messages in the terminal character set, including the ones that irssi detects as UTF-8. This causes your own client and every other irssi 0.8.10 to display these messages incorrectly.

Steps to reproduce:
- Set the terminal character set to ISO-8859-1 or ISO-8859-15 (for example, on FreeBSD and NetBSD type "export LC_CTYPE=en_US.ISO8859-15")
- Start irssi with the default settings
- Connect to some server and start a query with yourself
- Type: Ų

Irssi sends the message as ISO-8859-15, but later detects it as UTF-8 and shows it as "U".

Possible solutions:
- Change the default value of recode_out_default_charset to UTF-8. It breaks backward compatibility.
- Change the default value of recode_autodetect_utf8 to OFF. It breaks forward compatibility.
- If recode_autodetect_utf8 is set and recode_out_default_charset is not UTF-8, convert those messages to UTF-8 that can be incorrectly detected to be UTF-8.

This task does not depend on any other tasks.

Emanuele Giaquinta (ayin)
Saturday, 29 November 2008, 15:31 GMT
Guessing cannot be perfect, and none of your proposed solutions would improve it. Enforcing utf-8 would not inhibit other clients from sending the same data... Either accept recode_autodetect_utf8 limitation or disable it.