title: Python 3: CSV files and Unicode Error
body: <p>I have a csv (tsv) file with this header</p>
  
  <pre><code>"Message Name"  "Field" "Base Label"    "Base Label Update Date"    "Translated Label"  "Translated Label Update Date"  "Language"
  "Message"   "subject_template"  "New Task: Assess Distribution Outcomes for ""${docNameNoLink}"", ""${docNumber}""" "8/10/16 4:17:43 PM"    "Nouvelle tâche : évaluez le résultat de la distribution de « ${docNameNoLink} »."  "2/17/14 5:09:10 AM"    "fr"
  </code></pre>
  
  <p>When I try to read the file with this code</p>
  
  <pre><code>import csv
  with open(fileName, 'r',  encoding='utf-8', errors='replace') as fdata:
      csv.register_dialect('tsv', delimiter='\t', quoting=csv.QUOTE_NONE)
      reader=csv.reader(fdata, dialect='tsv')
      try:
          for row in reader:
              print (row)
      except csv.Error as e:
          sys.exit('file{}, line {}: {}'.format(fileName, reader.line_num, e))
  </code></pre>
  
  <p>I get the message error:
  file NameFile, line 1: line contains NULL byte</p>
  
  <p>However, if I run this code without the part of errors='replace|ignore', same code: </p>
  
  <pre><code>with open(fileName, 'r',  encoding='utf-8') as fdata:
      csv.register_dialect('tsv', delimiter='\t', quoting=csv.QUOTE_NONE)
      reader=csv.reader(fdata, dialect='tsv')
      try:
          for row in reader:
              print (row)
      except csv.Error as e:
          sys.exit('file {}, line {}: {}'.format(fileName, reader.line_num, e))
  </code></pre>
  
  <p>I got the following message error:</p>
  
  <pre><code>File "csvFiles.py", line 76 in &lt;module&gt;
    for row in reader:
     File "c:\Python35\lib\codecs.py", line 321 in decode (result, consumed) = self._buffer_decode(data, self.errors, final)
  UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
  </code></pre>
  
  <p>What is the possible reason of this error and how can I can correct it and make the script work?</p>