Terminal Encoding Issues

Last updated: April 2026

Default Encoding

RockTerm uses UTF-8 as the default character encoding for all new connections. UTF-8 is the dominant encoding on modern Linux, macOS, and BSD systems, and it supports the full Unicode character set including international characters, symbols, and emoji.

Encoding mismatches between RockTerm and the remote host are one of the most common causes of display corruption in terminal sessions.

Symptoms of Encoding Problems

If you see any of the following in your terminal output, you likely have an encoding mismatch:

Checking the Remote Host Encoding

To determine what encoding the remote host expects, run the following commands after connecting via SSH:

# Display the current locale settings
echo $LANG
locale

# Typical output for a UTF-8 system:
# LANG=en_US.UTF-8
# LC_ALL=en_US.UTF-8

If the output shows a non-UTF-8 locale (e.g., en_US.ISO-8859-1, C, POSIX, or is empty), there is a mismatch with RockTerm's default UTF-8 encoding.

You can also check the available locales on the remote system:

# List all installed locales
locale -a | grep -i utf

# Check if en_US.UTF-8 is available
locale -a | grep en_US.utf8

Fixing Encoding Mismatches

Option 1: Change the Remote Host to UTF-8 (Recommended)

The best long-term fix is to configure the remote host to use UTF-8. On most Linux distributions:

# Set the locale for the current session
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

# To make it permanent, add the above lines to ~/.bashrc or ~/.profile

# On Debian/Ubuntu, you may need to generate the locale first:
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8

# On RHEL/CentOS/Rocky:
sudo localectl set-locale LANG=en_US.UTF-8

Option 2: Change RockTerm's Encoding for a Specific Connection

If you cannot change the remote host's encoding (for example, on a legacy system or a managed appliance), you can configure RockTerm to match the remote encoding on a per-connection basis:

  1. Open the Connection Manager (Ctrl+Shift+N).
  2. Select the connection and click Edit.
  3. Under the Terminal section, change Character Encoding to match the remote host (e.g., ISO-8859-1, Windows-1252, EUC-JP, GB2312).
  4. Save and reconnect.

This override only affects the selected connection. All other connections continue to use UTF-8.

Network Device Output Limitations

When connecting to network devices (routers, switches, firewalls, access points), be aware of the following encoding limitations:

Still need help?

If you're still experiencing issues, contact us or email info@rockriverresearch.com.