What to do when bitbake says " Sad Locale, Need UTF-8"

If bitbake says:

Please use a locale setting which supports utf-8.
Python can't change the filesystem locale after loading so we need a utf-8 when python starts or things won't work.

You need a locale. My example will target en_US.UTF-8. You can choose your favorite (native?) locale as long as it's UTF8.

Ubuntu/Debian

tt@7e801839f06a:~/build$ sudo apt-get install locales
tt@7e801839f06a:~/build$ sudo dpkg-reconfigure locales 
 
tt@7e801839f06a:~/build$ sudo locale-gen en_US.UTF-8
Generating locales (this might take a while)...
 en_US.UTF-8... done
Generation complete.
tt@7e801839f06a:~/build$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
tt@7e801839f06a:~/build$ export LANG=en_US.UTF-8

Fedora

Fedora:24

sudo dnf install glibc-langpack-en
sudo dnf reinstall glibc-common 
export LANG=en_US.UTF-8

OpenSuse

OpenSuse:42.1

bash-4.2$ sudo zypper install glibc-locale
bash-4.2$ export LANG=en_US.UTF-8

for Dockerfiles

##Configure timezone and locale
echo "Europe/Oslo" > /etc/timezone && \
    dpkg-reconfigure -f noninteractive tzdata && \
    sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
    sed -i -e 's/# nb_NO.UTF-8 UTF-8/nb_NO.UTF-8 UTF-8/' /etc/locale.gen && \
    echo 'LANG="nb_NO.UTF-8"'>/etc/default/locale && \
    dpkg-reconfigure --frontend=noninteractive locales && \
    update-locale LANG=nb_NO.UTF-8