Skip to content

UnicodeEncodeError: 'charmap' codec can't encode character '\u2713' caused by [✓] pattern. #684

@danschef

Description

@danschef

Although [✓] Path is valid gets nicely colored in the console output on Linux, I get this UnicodeEncodeError when trying to run ISOFIT on Windows.

[...]
2025/05/09 14:31:05:   [✓] Path is valid
2025/05/09 14:31:05:   Verifying path for ISOFIT examples: C:\Users\danschef\.isofit\examples
2025/05/09 14:31:05:   [✓] Path is valid
--- Logging error ---
Traceback (most recent call last):
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\logging\__init__.py", line 1163, in emit
    stream.write(msg + self.terminator)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\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 '\u2713' in position 30: character maps to <undefined>
Call stack:
  File "C:\Program Files\JetBrains\PyCharm 2024.1.4\plugins\python-ce\helpers\pycharm\_jb_pytest_runner.py", line 75, in <module>
    sys.exit(pytest.main(args, plugins_to_load + [Plugin]))
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\_pytest\config\__init__.py", line 175, in main
    ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\pluggy\_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\pluggy\_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\pluggy\_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\_pytest\main.py", line 330, in pytest_cmdline_main
    return wrap_session(config, _main)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\_pytest\main.py", line 283, in wrap_session
    session.exitstatus = doit(config, session) or 0
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\_pytest\main.py", line 337, in _main
    config.hook.pytest_runtestloop(session=session)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\pluggy\_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\pluggy\_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\pluggy\_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\_pytest\main.py", line 362, in pytest_runtestloop
    item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\pluggy\_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\pluggy\_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\pluggy\_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
  File "D:\Programme\miniforge3\envs\enpt_full_dev\Lib\site-packages\_pytest\runner.py", line 113, in pytest_runtest_protocol
    runtestprotocol(item, nextitem=nextitem)

Not sure if this is a Windows-only issue but it could simply be fixed by replacing [✓] Path is valid with [OK] Path is valid.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions