Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

encoding [2014/04/05 16:30] (current)
Line 1: Line 1:
 +[[encoding]] \\
 +[[encoding]] //rule// \\
 +[[encoding]] //rule// NONE \\
 +[[encoding]] //rule// //​encoding//​
 +The page [[encodings and locales]] discusses how to tell EPIC what encoding you are using locally.  ​
 +EPIC will automatically send all your messages to IRC in UTF-8, and will automatically handle any incoming messages in UTF-8. ​ But if you receive a non-UTF8 message, or you want to send a non-UTF8 message, you need to tell EPIC what encoding to use.
 +An ENCODING rule contains three parts
 +  -- A server part
 +  -- A slash
 +  -- A target part (a nick or a channel)
 +Either side is optional, along with the slash. ​ Server parts are expected to contain dots, and channels are expected to start with a channel name char (#, &, +, etc), and a nick is everything else.  You should always include the slash if you think EPIC might misinterpret your nick or server as the other (such as when you use server groups -- see examples below)
 +=====Syntax Forms=====
 +Show all encoding rules -- there are always three built in rules (discussed below)
 +    /ENCODING <​rule>​
 +Show one specific rule -- you must type the //<​rule>//​ exactly ​
 +    /ENCODING <​rule>​ NONE
 +Delete a rule
 +    /ENCODING <​rule>​ <​encoding>​
 +Create a new rule using the given encoding.
 +ENCODING rules have overlap -- so when EPIC needs to be able to choose between multiple rules, it does this:
 +^ Priority ^ Rule Form ^ Explanation ^
 +| 1 | server/​nickname | A specific nick on a specific server |
 +| 2 | /​nickname ​      | A specific nick on ALL servers |
 +| 3 | server/​channel ​ | A specific channel on a specific server |
 +| 4 | /​channel ​       | A specific channel on ALL servers |
 +| 5 | server/ ​        | ALL nicks and channels for a server that don't have their own rule |
 +| 6 | "​irc" ​          | There is a builtin rule "​irc"​ used when no other rules apply |
 +The //server// part follows the same rules as /SERVER -UPDATE
 +  * A server refnum (a number)
 +  * A server "​ourname"​
 +  * A server "​itsname"​
 +  * A server group name
 +  * A server 005 NETWORK name
 +  * Any server altname
 +If your server description contains a port, that must match as well
 +    /ENCODING 4 KOI8-R
 +Server 4, and anybody on Server 4 that doesn'​t have its own rule uses KOI8-R
 +    /ENCODING EFNet/ CP437
 +Any server belonging to group "​EFNet",​ and anybody who doesn'​t have their own rule uses CP437. ​ Note the trailing slash is necessary because otherwise "​EFNet"​ would be considered a nickname.
 +    /ENCODING hop ISO-8859-1
 +Any hop I talk to uses ISO-8859-1
 +    /ENCODING EFNet/hop UTF-8
 +Except for the hop on EFNet, who uses UTF-8
 +    /ENCODING​6679 KOI8-R
 +When I connect to on port 6679, it uses KOI8-R
 +    /ENCODING​6667 UTF-8
 +When I connect to on port 6667, it uses UTF-8
 +=====Built In Rules=====
 +There are three built in encoding rules which you cannot delete and probably shouldn'​t change.
 +^ Rule ^ Explanation ^
 +| irc | Any non-utf8 message received from irc is assumed to be in this encoding (default: ISO-8859-1) |
 +| console | The encoding EPIC thinks you are using at the console (default: set from your locale) |
 +| scripts | Any non-utf8 script you [[load]] is assumed to be this encoding (default: CP437) |
 +The /ENCODING command first appeared in EPIC5-1.1.8
encoding.txt ยท Last modified: 2014/04/05 16:30 (external edit)