I understand the reason.
I found some source and other IO functions which read the source code from file. On my courses, these scripts are stored with encoding UTF-8, but the default chinese encoding for Chinese Traditional windows users are BIG5. Similar issues might be occurred for other non-English courses.
The solution is to add the argument encoding = "UTF-8", in my case, to these functions or connections. More generally, providing the default encoding or a hook before parsing might be a more robust solution.
Best,