document locale and language support tips
We have full support for various locales and languages, but often there are hiccups when setting up a terminal to use OSC in this manner. Document a few common questions so we don't have to individually support each bug report. Change-Id: I0f7c7efce3a2c00cc82ed8c67310e027b5e45a45
This commit is contained in:
parent
756d2fac67
commit
b8d6ceef86
@ -214,3 +214,59 @@ The logging level for `--log-file` can be set by using following options.
|
|||||||
* `-v, --verbose`
|
* `-v, --verbose`
|
||||||
* `-q, --quiet`
|
* `-q, --quiet`
|
||||||
* `--debug`
|
* `--debug`
|
||||||
|
|
||||||
|
Locale and Language Support
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
Full support for languages is included as of OpenStackClient 3.0.0. Here are a
|
||||||
|
few tips to ensure you have a correct configuration.
|
||||||
|
|
||||||
|
Verify preferred python encoding
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Please perform the following to diagnose ensure locale settings are correct.
|
||||||
|
Run python interactively and print the preferred encoding value, e.g.:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
$ python -c "import locale; print locale.getpreferredencoding()"
|
||||||
|
|
||||||
|
If the value is ``ascii`` or ``ANSI_X3.4-1968`` or any other equivalent name for
|
||||||
|
ASCII the problem is in your environment. You most likely do not have your LANG
|
||||||
|
environment variable set correctly.
|
||||||
|
|
||||||
|
Check the LANG environment variable
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
``LANG`` should be of the form: `lang_code`_`[region_code]`.`encoding`.
|
||||||
|
For example, it may look like: ``en_US.UTF-8``
|
||||||
|
|
||||||
|
The critical part here is the `encoding` value of ``UTF-8``. Python will look
|
||||||
|
up locale information and if it finds an encoding value, it will set the
|
||||||
|
encoding property of stdin, stdout and stderr to the value found in your
|
||||||
|
environment, if it's not defined in your environment it defaults to ASCII.
|
||||||
|
|
||||||
|
Redirecting output
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The above only occurs if stdin, stdout and stderr are attached to a TTY. If
|
||||||
|
redirecting data the encoding on these streams will default to the default
|
||||||
|
encoding which is set in the `site.py` of your Python distribution, which
|
||||||
|
defaults to ASCII. A workaround for this is to set ``PYTHONIOENCODING`` to UTF8.
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
$ PYTHONIOENCODING=utf-8
|
||||||
|
|
||||||
|
A final note about DevStack
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
A common post devstack operation is to source the ``openrc`` file to set up
|
||||||
|
environment variables. Doing so will unset the default ``LANG`` environment
|
||||||
|
variable in your terminal, which will cause the preferred python encoding to
|
||||||
|
be ``ascii``. We recommend either setting these environment variables
|
||||||
|
independently or using the ``devstack`` or ``devstack-admin`` os-cloud profile.
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
$ openstack project list --os-cloud devstack-admin
|
||||||
|
Loading…
Reference in New Issue
Block a user