OpenBSD weechat separator changing from a question mark to a pipe character

I just solved what was becoming a very aggravating issue thanks to the help from the folks in the #weechat channel in Libera.Chat.

On OpenBSD, my weechat client would put a question mark to separate the nicks and the messages sent with a question mark instead of a pipe-looking character like it should.

It looks like this was caused by opening weechat without having the correct locale set. By default, OpenBSD uses a locale of C, which only supports ASCII characters. According to the FAQ however, you should be able to set your locale to en_US.UTF-8 to get unicode support when available.

The confusing thing was that after correctly setting the locale to UTF-8 by adding the following line to my ~/.profile, it was still broken.

export LC_ALL=en_US.UTF-8

It looks like the reason was that weechat had saved weechat.look.prefix_suffix as ? after opening in a locale that doesn't support the character it wanted to use. The fix was to run /unset weechat.look.prefix_suffix after setting the correct locale.

I also plan on keeping weechat open in a tmux buffer. By default, tmux on OpenBSD uses TERM=screen, which only supports a very limited set of colors. To let weechat use a richer color pallet, I have to let it know the terminal support 256 colors. I can do this by using the tmux-256color TERM environment variable when inside of a session.

To do that, I add the following line to my ~/.tmux.conf file.

set -g default-terminal "tmux-256color"

Now everything looks as it should and we're ready to idle!