For example, when I type Chinese, there is a garbled situation:

(PS:Mine is C# and gds mixed)

xuran what OS?
and are you looking at the VS console or the godot debug? It's probably the VS console. (see if the problem happens in godot)
which would make this a VS problem, not a godot problem. something is configured wrong or it's not detecting the special characters, or just a problem with VS only accepting normal ASCII.

it IS printing FOUR characters which means it's reading half-and-half of a full character. so it's sending the data into the console, but the console is unable to make sense of this because the characters have TWICE the size (in data) of a normal character (that's how extra characters work). so you need a console/terminal capable of understanding it.

    Try converting source file to utf8, to see if it rectify the problem.

      Jesusemora This is indeed a problem with vscode, on godot it is displayed normally, but I am not sure why it is not displayed in vscode

      why not use built in IDE in godot? VScode is garbage for this kind of thing

        kuligs2 godot's built-in C# editor seems even worse and I don't like it

          My current approach is to use the native C# print console method and avoid using GD.Print

            xuran but i thought you are using godot native, in your code sample it was gdscript, so the best experience with gdscript is via the godot editor itself.

            If youre using godot C# then its somehting else..

              xuran godot is made primarily to work with latin characters, everything else is extra, and C# is MORE extra. you can however code it to work with whatever you need.

              xuran My current approach is to use the native C# print console method and avoid using GD.Print

              it sounds like gd print sends big size chars to the console, and this then reads them wrong. could be a bug with the C# print or with VScode. but yes, using the C# prints is an option, after all, you don't need this in your final version of the game.

                kuligs2 This problem should be caused by the coding inconsistency of sending messages between godot and vscode, I don't know how to solve it