Airport names charset problem

Hi, I’m retrieving airport data into a struct like below using C#. The problem
is that localized airport names are shown in a strange way. For example ESSJ
is retrieved as “Sala flygf\u00C3\u00A4lt” when the real name should be “Sala
flygfält”. In the G1000 it shows correct. I guess I have to do some conversion
of the retrieved string but what character set is used? I have tried to
convert the string from Latin1 to Unicode and a lot of other combinations
without result. Does anyone know how to do this in C#??

    [StructLayout(LayoutKind.Sequential, Pack = 1)]
    private struct AirportData
    {
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
        public string name;

Ok, I solved it after a lot of struggle! It seems the characters are in UTF8
but… they have to be looked at as bytes so a normal string conversation is
not possible. Here is my solution:

    protected static string GetString(string value)
    {
        byte[] bytes = new byte[value.Length];
        for (int i = 0; i < value.Length; i++)
            bytes[i] = (byte)(value[i] & 0xFF);
        string output = Encoding.UTF8.GetString(bytes);
        return output;
    }