Skip to content

Incorrect Characters in output Runways.xml [MSFS2020] #1

@rhuneai

Description

@rhuneai

Using MakeRwys.exe 5.131 on a MSFS2020 install created a runways.xml with (I think) an incorrect character in an ICAOName field.
I assume something isn't handling unicode characters properly, though my knowledge here is not great.
I began looking into it because TOD_Calculator_and_Pause.exe didn't recognise any airports in the generated runways.xml.

The issue is with ICAO "CAN9". <ICAOName>Ch��teau Frontenac</ICAOName>. The name looks like it is meant to be <ICAOName>Château Frontenac</ICAOName> instead.
The source file is: Microsoft Flight Simulator\Official\Steam\microsoft-canada-point-of-interest\scenery\Microsoft\canada-pois\branch1.bgl

VScode also shows these characters as unknown/control codes, so my assumption is that they are invalid/incorrect.
Character "03" looks to be 'End-of-Text'. Perhaps this causes issues with XML/file parsers?
Image

The hex values of the runways.xml is below, where the "â" character is encoded as "8B 03":

 <  I  C  A  O  N  a  m  e  >  C  h  ‹  �  t  e  a  u     F  r  o  n  t  e  n  a  c
3C 49 43 41 4F 4E 61 6D 65 3E 43 68 8B 03 74 65 61 75 20 46 72 6F 6E 74 65 6E 61 63

Looking at the BGL documentation in this repo, I suspect this is the "airport name" subrecord from the BGL with the "â" encoded as "C3 A2".
All instances of this name in the BGL file were encoded the same (though if any aren't searchable as plaintext strings I would not have found them).

                   C  h  Ã  ¢  t  e  a  u     F  r  o  n  t  e  n  a  c
19 00 18 00 00 00 43 68 C3 A2 74 65 61 75 20 46 72 6F 6E 74 65 6E 61 63

I believe that this project is no longer maintained, but perhaps my hours of troubleshooting could help someone else :)

TLDR Workaround: In a text editor, search for CAN9. Paste the "â" over the the invalid characters in the ICAOName.
This worked ok using either VSCode or Win10 notepad as the editors.
Searching for the ETX char instead might be a better way to find the same issue more generically.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions