title: makemessages command results in html.py files and a UnicodeDecodeError
body: <p>When I run this command: </p>
  
  <pre><code>django-admin makemessages -l ar
  </code></pre>
  
  <p>It gives this error:</p>
  
  <pre><code>Traceback (most recent call last):
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\utils\encoding.py", line 65, in force_text
  s = str(s, encoding, errors)
  UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 3107: invalid continuation byte
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\runpy.py", line 193, in _run_module_as_main
  "__main__", mod_spec)
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\runpy.py", line 85, in _run_code
  exec(code, run_globals)
  File "C:\Users\Ahmed\AppData\Local\Programs\Python\Python36-32\Scripts\django-admin.exe\__main__.py", line 9, in &lt;module&gt;
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site- packages\django\core\management\__init__.py", line 371, in execute_from_command_line
  utility.execute()
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\__init__.py", line 365, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site- packages\django\core\management\base.py", line 288, in run_from_argv
  self.execute(*args, **cmd_options)
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\base.py", line 335, in execute
  output = self.handle(*args, **options)
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 384, in handle
  potfiles = self.build_potfiles()
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 426, in build_potfiles
  self.process_files(file_list)
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 522, in process_files
  self.process_locale_dir(locale_dir, files)
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 590, in process_locale_dir
  msgs, errors, status = popen_wrapper(args)
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\utils.py", line 23, in popen_wrapper
  force_text(output, stdout_encoding, strings_only=True, errors='strict'),
  File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\utils\encoding.py", line 69, in force_text
  raise DjangoUnicodeDecodeError(s, *e.args)
  django.utils.encoding.DjangoUnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 3107: invalid continuation byte. You passed in 
  </code></pre>
  
  <p>Aside from the error, <code>html.py</code> files are created for each html file. For example: for <code>index.html</code>, an <code>index.html.py</code> is created with it in the template folder. These <code>html.py</code> files contains just 'X' and 'B' characters with some text to translate. </p>
  
  <p>For example:</p>
  
  <pre><code>BBBBBBBB
  BBBBB BBBBBBB
      XXXX XXXXXXXXXXXXXXXXXXXXX
          XXXX XXXXXXXXX XXXXX XXX
          XXXX XXXXXXXXXXXXXXXXXX
                XXXX XXXXXXXXXXXXX
                        XXXX XXXXXXXXXXXXXXXXXX XX
                            XXX XXXXXXXXXXXXXX gettext(u'Les appels à projet') XXXXX
                          XXXX XXXXXXXXXXXXXXXXXXXXXXXXXX
                              XXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX
                                  XXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX
                                  XXXXXX XXXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX
                                  XXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX
                              XXXXX
                          XXXXXX
                        XXXXXX
                        XXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
                          XXXX XXXXXXXXXXXXXXXXXXXXXXXXX
                            XXXXXX XXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX
                                  XXXXXXX
                                      XXXX
                                          XXXX gettext(u'Appel à projet') XXXXX
                                          XXXX gettext(u'Date de lencement') XXXXX
                                          XXXX gettext(u'Date de clature') XXXXX
                                          XXXX gettext(u'Année budjitaire') XXXXX
                                          XXXX gettext(u"N° d'apppel à projet") XXXXX
                                          XXXX gettext(u"Etat d'appel") XXXXX
                                          XXXX XXXX gettext(u'Action') XXXXX XXX
                                      XXXXX
                                  XXXXXXXX
                                  XXXXXXX
                                  BBB BBBBBB BB BBBBBBBBBBB
                                      XXXX
                                          XXXXXXXXX
                                          XXXXXXXXX
                                          XXXXXXXXX
  </code></pre>
  
  <p>I already have a <code>.po</code> file for Ar with some text to translate, which I already created 2 months ago, and it's translated perfectly.  </p>
  
  <p>But when I run the <code>makemessages</code> command to add the new text to translate, it gives the above error.</p>
  
  <p>Any ideas please?</p>