##### SUMMARY
When ConfigManager is decoding config envvar values, if the value is not decode-able based on current LC_ALL/LANG settings, the error is fatal.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
ConfigManager

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
2.9.0rc3
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
NA
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
```

```
##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml

```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->


##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

<!--- Paste verbatim command output between quotes -->
```paste below
04:42 + LC_ALL=C
04:42 + LANG=C
04:42 + ansible-playbook test_connection.yml -i ../connection_chroot/test_connection.inventory -e target_hosts=chroot -e action_prefix= -e local_tmp=/tmp/ansible-local -e remote_tmp=/tmp/ansible-remote -vvvvvv
04:42 Unhandled error:
04:42  Traceback (most recent call last):
04:42   File "/root/ansible/lib/ansible/config/manager.py", line 550, in update_config_data
04:42     value, origin = self.get_config_value_and_origin(config, configfile)
04:42   File "/root/ansible/lib/ansible/config/manager.py", line 453, in get_config_value_and_origin
04:42     value, origin = self._loop_entries(py3compat.environ, defs[config]['env'])
04:42   File "/root/ansible/lib/ansible/config/manager.py", line 393, in _loop_entries
04:42     temp_value = container.get(name, None)
04:42   File "/usr/lib64/python2.7/_abcoll.py", line 363, in get
04:42     return self[key]
04:42   File "/root/ansible/lib/ansible/utils/py3compat.py", line 50, in __getitem__
04:42     nonstring='passthru', errors='surrogate_or_strict')
04:42   File "/root/ansible/lib/ansible/module_utils/_text.py", line 235, in to_text
04:42     return obj.decode(encoding, errors)
04:42 UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 69: ordinal not in range(128)
04:42 
04:42 
04:42 Traceback (most recent call last):
04:42   File "/root/ansible/bin/ansible-playbook", line 62, in <module>
04:42     import ansible.constants as C
04:42   File "/root/ansible/lib/ansible/constants.py", line 174, in <module>
04:42     config = ConfigManager()
04:42   File "/root/ansible/lib/ansible/config/manager.py", line 290, in __init__
04:42     self.update_config_data()
04:42   File "/root/ansible/lib/ansible/config/manager.py", line 562, in update_config_data
04:42     raise AnsibleError("Invalid settings supplied for %s: %s\n" % (config, to_native(e)), orig_exc=e)
04:42 ansible.errors.AnsibleError: Invalid settings supplied for PLAYBOOK_DIR: 'ascii' codec can't decode byte 0xc3 in position 69: ordinal not in range(128)
```

from collections import namedtuple
from yaml import load as yaml_load
try:
    
    from yaml import CSafeLoader as SafeLoader
except ImportError:
    from yaml import SafeLoader
from ansible.config.data import ConfigData
from ansible.errors import AnsibleOptionsError, AnsibleError
from ansible.module_utils._text import to_text, to_bytes, to_native
from ansible.module_utils.common._collections_compat import Sequence
from ansible.module_utils.six import PY3, string_types
from ansible.module_utils.six.moves import configparser
from ansible.module_utils.parsing.convert_bool import boolean
from ansible.parsing.quoting import unquote
from ansible.utils import py3compat
from ansible.utils.path import cleanup_tmp_file, makedirs_safe, unfrackpath
Plugin = namedtuple('Plugin', 'name type')
Setting = namedtuple('Setting', 'name value origin type')
INTERNAL_DEFS = {'lookup': ('_terms',)}
def _get_entry(plugin_type, plugin_name, config):
    ''' construct entry for requested config '''
    entry = ''
    if plugin_type:
        entry += 'plugin_type: %s ' % plugin_type
        if plugin_name:
            entry += 'plugin: %s ' % plugin_name
    entry += 'setting: %s ' % config
    return entry
def ensure_type(value, value_type, origin=None):