SecureCRT中文和英文都是乱码

图片说明

就因为敲了cat a.txt
然后就发现所有的都是乱码了。重新断开连接就正常了。
我的CRT配置是:
图片说明
请问是什么问题???怎么解决?先在这里感谢大家

JZ5U绿色下载|www.jz5u.com |www.jz5u.net【绿色下载、尽在无忧→谐音JZ5U】 你可以下载这个用。

我将字体更改为了新宋体,后面不知道为什么不会出现这个问题了。但是我认为这个不是解决这个问题的方法

 #include <tchar.h>
#include <windows.h>
#include <winioctl.h>

void Check(LPCTSTR file, LPCTSTR volPathWithLeadingPrefix)
{
    HANDLE hFile = CreateFile(
        volPathWithLeadingPrefix,
        FILE_READ_ATTRIBUTES,  // Just querying; don't mount
        FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
        NULL, OPEN_EXISTING, FILE_FLAG_NO_BUFFERING, NULL);
    STORAGE_PROPERTY_QUERY spq =
    { StorageDeviceProperty, PropertyStandardQuery };
    union
    {
        STORAGE_DEVICE_DESCRIPTOR StorageDeviceDescriptor;
        BYTE Data[1024];
    } output = {0};
    DWORD br;
    if (DeviceIoControl(
        hFile, IOCTL_STORAGE_QUERY_PROPERTY,
        &spq, sizeof(spq), &output, sizeof(output),
        &br, NULL))
    {
        STORAGE_DEVICE_DESCRIPTOR &sdd =
            output.StorageDeviceDescriptor;
        if (sdd.ProductIdOffset > 0)
        {
            LPCSTR productID = (LPCSTR)&((LPBYTE)&sdd)[sdd.ProductIdOffset];
            BOOL isSSD = strstr(productID, "SSD") != NULL;
            _tprintf(_T("\"%s\": %s\n"), file, isSSD ? _T("SSD") : _T("HDD"));
        }
        else { _ftprintf(stderr, _T("No product ID.")); }
    }
    else
    { _ftprintf(stderr, _T("Error %u querying storage.\n"), GetLastError()); }
}

int _tmain(int argc, TCHAR *argv[])
{
    for (int i = 1; i < argc; i++)
    {
        LPCTSTR file = argv[i];
        TCHAR volPath[MAX_PATH];
        if (GetVolumePathName(file, volPath, ARRAYSIZE(volPath)))
        {
            for (size_t cchVolPath = _tcslen(volPath);
                cchVolPath > 0 && volPath[cchVolPath - 1] == TEXT('\\');
                cchVolPath--)
            { volPath[cchVolPath - 1] = TEXT('\0'); }

            TCHAR volPathWithLeadingPrefix[ARRAYSIZE(volPath)];
            if (_sntprintf(
                volPathWithLeadingPrefix,
                ARRAYSIZE(volPathWithLeadingPrefix),
                volPath[0] == _T('\\') ? _T("%s") : _T("\\\\.\\%s"),
                volPath) < ARRAYSIZE(volPathWithLeadingPrefix))
            {
                Check(file, volPathWithLeadingPrefix);
            }
            else
            {
                SetLastError(ERROR_FILENAME_EXCED_RANGE);
                _ftprintf(stderr, _T("Path \"%s\" is too long.\n"), volPath);
            }
        }
        else
        {
            _ftprintf(
                stderr,
                _T("Error %u getting volume path.\n"),
                GetLastError());
        }
    }
}