Asian character support in terminal

I’ve got songs that have Asian characters in them.
They don’t show up in the terminal. Is there a way to install some kind of language pack?

Can you post a screenshot? I’m curious if they show up as squares; it could be as simple as changing the font.

Same goes for ssh.

You may try a different (UTF8)-capable font or maybe a different terminal app?

It looks like it’s BusyBox ls not playing ball. If I ssh into the phone and type vim 緑スズメバチ.txt and save the file, ls displays it with question marks, making accessing the file without command history difficult. Using fish I can type vim and then tab-complete my way to the file, and it displays correctly there.

I can reproduce the same behavior on my desktop computer by installing BusyBox and creating the file above. ls (from coreutils package, Manjaro Linux) shows the name correctly, but busybox ls shows it with question marks.

I thought about the font support at first, too, but it looks like at least some Japanese characters are already displayed correctly, just not by BusyBox…

And, there doesn’t seem to be coreutils package available, it’s provided by busybox-symlinks-coreutils which makes all the sense in this case.

Even when using Bash or Fish for example, via SSH or locally, BusyBox is still used to provide e.g. ls command, so using alternative shell isn’t the easy way out. Bummer!

I poked around this issue for a while and found lots of similar discussions. One of the more useful ones was this OpenWRT issue, which also contains a fix for it. This only fixed the output however, e.g. tab-completion was still showing question marks. To fix input, changing a few configuration options was also necessary, and here are the results:

busybox-unicode

I tested the build for a while on my Sony Xperia 10 II (which now serves as a test device) and it worked great! I made a pull request of course, but as that will take a while to trickle all the way to an SFOS update, you may be better off compiling it yourself.

Disclaimer: BusyBox is a critical system package, and breaking it may result in a bricked device. Make backups and know how to use them! Continue at your own risk!

Clone my fork, init and update submodules, checkout make-high-ascii-printable branch, and compile against your target of choice. To install the bunch of RPM packages I did the following:

  • scp RPMS/*.rpm defaultuser@192.168.2.15:
  • ssh defaultuser@192.168.2.15
  • devel-su zypper install --allow-unsigned-rpm busybox*.rpm
    DO NOT replace any packages! (I skipped busybox-symlinks-procps and busybox-symlinks-console-tools, your list may vary)
  • Reboot the device

To restore the stock version, run devel-su pkcon install --allow-reinstall --allow-downgrade busybox busybox-doc busybox-static [...] with all the package names you installed above. Again, don’t replace any packages!

2 Likes

I can wait for the updated version.
It’s an annoyance and caused pain years ago, or several days ago, as I painstakingly had to rename all files back to their original, so waiting for a couple of days/weeks/months is no big deal.