3dstools icon indicating copy to clipboard operation
3dstools copied to clipboard

msbt.py Using a MSBT containing the german ü umlaut leads to UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc'

Open schrmh opened this issue 2 years ago • 0 comments

When runniny msbt.py with python2, I get the following error on a german menu_msbt.lz (which is effectively a MsgStdBn/MSBT file) which is part of the european 3DS Home Menu:

Traceback (most recent call last):
  File "msbt.py", line 624, in <module>
    msbt.to_json(args.json)
  File "msbt.py", line 189, in to_json
    json.dump(output, open(filename, 'w'), indent=2, sort_keys=True, ensure_ascii=False)
  File "/usr/lib/python2.7/json/__init__.py", line 190, in dump
    fp.write(chunk)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 12: ordinal not in range(128)

This character is ü, one of the letters used in german.

After that error, the output .json looks like this:

{
  "strings": {
    "base_2b_cancel": 

schrmh avatar Jul 30 '23 09:07 schrmh