Troubleshooting language support - atauenis/webone GitHub Wiki

The one of WebOne features is character encoding converting support. Currently all Internet is using UTF-8 text encoding, which is common for all languages (including emoji). But in 1990s Web browsers & Web sites were used older character sets (code pages) for each language and system. WebOne can convert UTF-8 to such code pages.

To view content in your language using a retro Web browser, you need:

  1. Fonts with language support (consider use an localized OS).
  2. A browser with particular code page support (or UTF-8 support).
    • For all Latin, Greek or Cyrillic languages, most browsers from 1990s have proper support.
    • Chinese/Japan/Korean and Middle-East languages are also somewhere supported.
  3. WebOne, running on a properly-configured server OS.

Hint: Microsoft Windows 3.1 "for Central and Eastern Europe", Windows 95 "Pan European" and English Windows 98/2000+ have support for Cyrillic and Eastern-Europe languages if installed with proper locale selected.

Hint: Apple MacOS 9 is providing proper multi-language support via Language Kits. If you still see incorrect characters, try run Language Register from Utilities folder, and register correct language for web browser application file. Also make sure that common fonts like Arial and Times New Roman are not overwritten with English-only versions (like after install of Microsoft Office 98, 2001).

When WebOne is converting the character encoding?

By default, WebOne is serving clients with the encoding, used on source Web server. Just not changes it. The exception is older browsers like listed below, for which it returns content in system code page:

  • NCSA Mosaic (Windows): 1251-1258.
  • NCSA Mosaic (Macintosh): 10000-10082.
  • Netscape Navigator 3 and earlier, MS Internet Explorer 3 and earlier (Windows): 1251-1258.
  • Netscape Navigator 3 and earlier, MS Internet Explorer 3 and earlier (Macintosh): 10000-10082.
  • Netscape Navigator 3 and earlier (OS/2 Warp): 850/851/866/etc.
  • IBM WebExplorer (OS/2 Warp Connect 3 & OS/2 Warp 4): 28591-28599 (a.k.a. ISO 8859-x).
  • All MS-DOS web-browsers, like DosLynx and xChaos Arachne: 850/851/866/etc.

Microsoft Internet Explorer 4 (and newer), Netscape Communicator 4 (and newer), Mozilla, Opera, etc does support UTF-8, so they are serving with source encoding disregarding which is it.

How to check server OS support for the language?

Open http://localhost:8080/!codepages/, and scroll to the bottom. You should see something:

Code pages CYR

The example is related to Russia, Ukraine, Belarus and partially Bulgaria, Serbia, North Macedonia (they also use CP1251, but not CP866).

If code page names are valid for your language, the language support is probably correct. You should be able to read web sites without code-page problems. In some cases you'll be need to manually select correct encoding via browser's menu (if automatic detection fails).

What if I see incorrect code pages here?

This means that the server OS is incorrectly configured for locale. The most spreaded situation is an unlocalized "English" configuration of system, which results in these default encodings:

Code pages Europe

It is valid for browsing sites on Western European languages (English, French, German, Spain, etc), but only. To add support for other languages, it's need to configure proxy server OS or WebOne self.

Linux

Find manuals for your distribution, and set LANG environment variable for entire OS. Debian uses sudo dpkg-reconfigure locales command, other distributions use other commands for language changing.

If it's not possible, configure systemd service file:

$ su
# nano /etc/systemd/system/webone.service
Add an instruction into service configuration:

[Service]
Environment="LANG=ru_RU.UTF-8"

Ctrl+X, Save.
# systemctl daemon-reload
# service webone restart

Windows

Open classic Control Panel, Language applet, and place language you want on the top of the list. Then reboot Windows. Also this can be do via system Settings application.

MacOS

Click Apple Menu, System Preferences, Language & Region, then add and move to up of Preferred Languages the language you want.

I don't want to change system settings

The another way is to edit codepage.conf file of WebOne, and change universal placeholders to real code page numbers.

An example for CIS Cyrillic conditions:

  • AddOutputEncoding=WindowsAddOutputEncoding=1251
  • AddOutputEncoding=DOSAddOutputEncoding=866
  • AddOutputEncoding=AppleAddOutputEncoding=10007 (or 10017)
  • AddOutputEncoding=ISOAddOutputEncoding=iso-8859-5