dflook / python-minifier

Transform Python source code into its most compact representation
MIT License
578 stars 43 forks source link

UnicodeEncodeError: 'charmap' codec can't encode character '\u274c' in position 1636: character maps to <undefined> #113

Open ylli2000 opened 1 week ago

ylli2000 commented 1 week ago

What: I use a few emojis in my code, green check, red cross...etc. '\u274c' is literally the Unicode for ❌

Error:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\Scripts\pyminify.exe\__main__.py", line 7, in <module>
  File "C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\python_minifier\__main__.py", line 76, in main
    sys.stdout.write(minified)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.2032.0_x64__qbz5n2kfra8p0\Lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'charmap' codec can't encode character '\u274c' in position 1636: character maps to <undefined>

Expect: I am expecting the minifier to be able to handle Unicode like this without error.

Versioning: python_minifier-2.11.2 Python 3.12.7

dflook commented 1 week ago

Unfortunately, Python on Windows is broken by default. See #57.

Could you set the environment variable PYTHONUTF8=1 and see if it works?

ylli2000 commented 1 week ago

Works! Thank you :)