diff options
author | Kenny Root <kenny@the-b.org> | 2009-06-12 09:35:15 +0000 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2009-06-12 09:35:15 +0000 |
commit | ec2a6fca2efac964efbcb302913fb8af68e60294 (patch) | |
tree | 9e3788ea80c0af5c1ff6d1fb1ed8e23c10a9ff99 /src/org | |
parent | f930b37c7aaf4a6f2571ab632e271a208f95404a (diff) | |
download | connectbot-ec2a6fca2efac964efbcb302913fb8af68e60294.tar.gz connectbot-ec2a6fca2efac964efbcb302913fb8af68e60294.tar.bz2 connectbot-ec2a6fca2efac964efbcb302913fb8af68e60294.zip |
Add CP437 support
git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@284 df292f66-193f-0410-a5fc-6d59da041ff2
Diffstat (limited to 'src/org')
-rw-r--r-- | src/org/connectbot/HostEditorActivity.java | 6 | ||||
-rw-r--r-- | src/org/connectbot/service/Relay.java | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/org/connectbot/HostEditorActivity.java b/src/org/connectbot/HostEditorActivity.java index dcebbf8..9f38ecc 100644 --- a/src/org/connectbot/HostEditorActivity.java +++ b/src/org/connectbot/HostEditorActivity.java @@ -252,6 +252,12 @@ public class HostEditorActivity extends PreferenceActivity implements OnSharedPr for (Entry<String, Charset> entry : Charset.availableCharsets().entrySet()) { Charset c = entry.getValue(); if (c.canEncode() && c.isRegistered()) { + String key = entry.getKey(); + if (key.startsWith("cp")) { + // Custom CP437 charset changes + charsetIds.add("CP437"); + charsetNames.add("CP437"); + } charsetIds.add(entry.getKey()); charsetNames.add(c.displayName()); } diff --git a/src/org/connectbot/service/Relay.java b/src/org/connectbot/service/Relay.java index f713210..942de88 100644 --- a/src/org/connectbot/service/Relay.java +++ b/src/org/connectbot/service/Relay.java @@ -18,6 +18,8 @@ package org.connectbot.service; +import gnu.java.nio.charset.Cp437; + import java.io.IOException; import java.io.InputStream; import java.nio.ByteBuffer; @@ -76,7 +78,11 @@ public class Relay implements Runnable { } public void setCharset(String encoding) { - Charset charset = Charset.forName(encoding); + Charset charset; + if (encoding.equals(Cp437.NAME)) + charset = new Cp437(); + else + charset = Charset.forName(encoding); CharsetDecoder newCd = charset.newDecoder(); newCd.onUnmappableCharacter(CodingErrorAction.REPLACE); |