##### SUMMARY

The read_csv integration test fails when LC_ALL is not set.

##### ISSUE TYPE

Bug Report

##### COMPONENT NAME

read_csv

##### ANSIBLE VERSION

devel

##### CONFIGURATION

N/A

##### OS / ENVIRONMENT

N/A

##### STEPS TO REPRODUCE

1. Set `ansible_connection=ssh ansible_host=localhost` for `testhost` to prevent modules from inheriting the environment from the controller: https://github.com/ansible/ansible/blob/edcb5b6775adac09eee5412b499b8f0aa5194610/test/integration/inventory#L6
2. Run the test in an environment where LC_ALL is not set by default: `ansible-test integration read_csv --remote freebsd/12.0 -v`

##### EXPECTED RESULTS

Tests pass.

##### ACTUAL RESULTS

Tests traceback:

```
TASK [read_csv : Read users from CSV file and return a dictionary] ******************************************************************************************************
fatal: [testhost]: FAILED! => {"changed": false, "module_stderr": "Shared connection to localhost closed.\r\n", "module_stdout": "Traceback (most recent call last):\r\n  File \"/root/.ansible/tmp/ansible-tmp-1561575641.134005-97732254058242/AnsiballZ_read_csv.py\", line 139, in <module>\r\n    _ansiballz_main()\r\n  File \"/root/.ansible/tmp/ansible-tmp-1561575641.134005-97732254058242/AnsiballZ_read_csv.py\", line 131, in _ansiballz_main\r\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\r\n  File \"/root/.ansible/tmp/ansible-tmp-1561575641.134005-97732254058242/AnsiballZ_read_csv.py\", line 65, in invoke_module\r\n    spec.loader.exec_module(module)\r\n  File \"<frozen importlib._bootstrap_external>\", line 678, in exec_module\r\n  File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\r\n  File \"/tmp/ansible_read_csv_payload_dllmyumq/__main__.py\", line 235, in <module>\r\n  File \"/tmp/ansible_read_csv_payload_dllmyumq/__main__.py\", line 210, in main\r\n  File \"/usr/local/lib/python3.6/csv.py\", line 98, in fieldnames\r\n    self._fieldnames = next(self.reader)\r\n  File \"/usr/local/lib/python3.6/encodings/ascii.py\", line 26, in decode\r\n    return codecs.ascii_decode(input, self.errors)[0]\r\nUnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 38: ordinal not in range(128)\r\n", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
```

Failure on Shippable: https://app.shippable.com/github/ansible/ansible/runs/129521/18/tests
gid: 500
    jeroen:
      name: jeroen
      uid: 501
      gid: 500
list:
  description: The CSV content as a list.
  returned: success
  type: list
  sample:
  - name: dag
    uid: 500
    gid: 500
  - name: jeroen
    uid: 501
    gid: 500
'''
import csv
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_text
class unix_dialect(csv.Dialect):
    """Describe the usual properties of Unix-generated CSV files."""
    delimiter = ','
    quotechar = '"'
    doublequote = True
    skipinitialspace = False
    lineterminator = '\n'
    quoting = csv.QUOTE_ALL
csv.register_dialect("unix", unix_dialect)
def main():