Docker launcher fails with message «/pups/lib/pups/cli.rb:15:in `split': invalid byte sequence in US-ASCII» then container *.yml file contains non-ASCII symbols

Non-ASCII symbols in container *.yml file are needed for:

But now it fails:

root /usr/local/discourse # ./launcher rebuild app
Ensuring discourse docker is up to date
Fetching origin
Discourse Docker is up-to-date
Stopping old container

  • /usr/bin/docker stop -t 10 app
    cd /pups && git pull && /pups/bin/pups --stdin
    8d972ab…7d741e1 master → origin/master
    Updating 8d972ab…7d741e1
    Fast-forward | 16 ++++++++++++++++
    1 file changed, 16 insertions(+)
    I, [2015-05-25T15:15:11.528613 #41] INFO – : Loading --stdin
    /pups/lib/pups/cli.rb:15:in split': invalid byte sequence in US-ASCII (ArgumentError) from /pups/lib/pups/cli.rb:15:in run’
    from /pups/bin/pups:8:in `’

Maybe it can be fixed in

by adding the line like

conf = conf.encode("UTF-8")

before the line

split = conf.split("_FILE_SEPERATOR_")

I would not force encoding, instead amend launcher to pass the utf text.

How exactly to go about this?

Someone had an “é” in their hostname earlier today and the same error came up.

I tried changing a few settings within the yaml file to france, but same error occurred.

Which setting to change, and where?

I tried to change:

from .english to france


to fr_FR.UTF-8

separately and in combination.

Is there no easy answer here? I tried hacking in the launcher some as well, no dice.

I can convert the format in php before it ever touches the yaml/launcher, but would think this a last option. Am advertising in other languages across the globe, and would rather offer than limit.

no longer able to repro.