问题标签 [mbcs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8042 浏览

mfc - 适用于桌面版 Visual Studio 2015 Express 的 MFC 多字节插件

我正在使用VS 2015 Express for Desktop,它默认不支持 MFC 多字节。

不久前有一个单独的MFC MBCS DLL Add-on

但是现在删除了指向Visual Studio 2015 的多字节 MFC 库的链接。

这样做是因为所有其他 VS 版本都有“Microsoft Foundation Classes for C++”可选安装组件:

但是 VS 2015 Express for Desktop 缺少它(它没有可选的安装组件,根本没有“自定义”安装)所以问题是:

  1. 也许有人有下载 Visual Studio 2015 的多字节 MFC 库的备份链接?
  2. 我还下载了 VS 2015 Community Edition ISO。在\packages\VisualC_D14中有几个VC_MFC.*文件夹(其中有VC_MFC.MBCS)。但是尝试在该文件夹中运行可执行文件会导致错误

在此处输入图像描述

也许有人知道如何在不运行整个 VS 2015 社区版设置的情况下安装这些组件?

先感谢您。

PS 由于许可证限制,安装 VS 2015 Community Edition 而不是 VS 2015 Express for Desktop 不适合我的公司(我们是企业组织 - 超过 250 台 PC - 并将 VS 用于商业目的)。

不幸的是,在我们的项目中将字符集从多字节更改为 Unicode 现在也不是我们的选择。

0 投票
1 回答
2275 浏览

character-encoding - 这个文件的字符编码是什么?

  • 文件扩展名是.PRO
  • 被记事本正确解码(!)
  • 由 Python 通过dbcs编解码器正确解码,但仅在 Windows 上
  • 大多数其他程序(文件,chardet,sublime-text,...)错误地将其归类为 UTF-8(并相应地显示中文字符)
  • 似乎每三个字节编码两个字符

您会认为 (3) 会解决它(“这是一种东亚多字节编码”),但是为什么不 chardet 等人呢?检测到吗?

这是hexdump -C它的其中一个以及记事本的 ANSI 输出。


0 投票
0 回答
350 浏览

visual-c++ - SHGetFolderPath 为非英语 Windows 返回不正确的文件路径

我的应用程序使用 SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, szPath) 来获取应用程序数据的文件路径。一位用户报告了(通过 Survey Monkey 调查)如下报告的错误——

“Win XP 使用了部分捷克语名称“C:\Documents and Settings\%my profile%\Data aplikací” 字母 í(i 带尖音)导致问题:找不到 library.db 文件,因为程序搜索“Data aplikac”,而不是我在文件监视器中看到的正确的“数据 aplikací”。”

我该如何纠正这个问题?如果没有可以与之交流的捷克用户,我很难调试问题。

该应用程序是针对 MBCS 而不是 Unicode 编译的。

0 投票
2 回答
1694 浏览

windows - Within Windows MBCS, what languages have 2 byte characters and what characters are they?

I have a legacy application that uses Window's old MBCS. The software is international, and uses code pages to make it work for other languages. I've read that Chinese contains multibyte characters. My question is, which ones and how do I generate them on a computer in the USA? I need this for testing.

0 投票
0 回答
884 浏览

c++ - Visual Studio 2013 MFC MBCS DLL 附加安装位置

我目前正在将几个项目从 Visual Studio 2010 迁移到 Visual Studio 2013。这些项目使用 MBCS 作为字符集,并在我的本地计算机上正常构建,因为我已经安装了MFC MBCS DLL Add-On

项目无法在生成机器上的 Visual Studio 2013 中生成,因为生成机器没有安装 MFC MBCS 附加组件。项目是否可以在不安装附加组件的情况下在构建机器上成功构建,但通过在项目中包含额外的包含目录中的 dll。

MFC MBCS dll 的安装位置是什么?

0 投票
0 回答
61 浏览

mysql - 为什么 mariadb 在 Windows 上配置 MBCS 而不是 Unicode?

我正在使用 CMake 和提供的默认值在 Windows 上配置 mariadb 10.0.15。

为什么生成的 libmysql 项目配置为使用多字节字符集而不是 Unicode?

0 投票
0 回答
807 浏览

visual-studio - 安装 MFC 和 VC++ 后,MBCS 不存在于 VS2015 中

我最近升级到 Visual Studio 2015 并尝试构建一些 2013 项目。根据 MSDN 文档,只要安装了 MFC 和 VC++,MBCS 库就内置在 VS2015 中。我的项目的平台工具集设置为 v120 (Visual Studio 2013),因为它尚未升级到 v140。

我收到 MSB8031 - 错误 MSB8031:不推荐为非 Unicode 字符集构建 MFC 项目。您必须将项目属性更改为 Unicode 或下载其他库。有关详细信息,请参阅http://go.microsoft.com/fwlink/p/?LinkId=286820

我已经尝试过几次重新安装 VS2015,甚至在安装屏幕中包含每个选项,但都没有运气。2013 MBCS 库安装程序无法运行,因为我没有安装 VS2013。VS2015 依赖 MBCS 库构建 2013 项目是否缺少一些东西?

0 投票
0 回答
498 浏览

c++ - Visual C++/MFC/MBCS:让日文/韩文字符在对话框和 LOGFONT 中工作

我的软件最初是 20 年前在 Visual C++ 中使用 MFC 和 MBCS 开发的,字符串保存在 char[] 中。我目前正在使用 VS2015。

为了让它用日语工作,我有:

1) 将系统区域设置和输入法更改为日本

2)在对话框编辑器中将对话框的字体从 MS Sans Serif 更改为“使用系统字体”,这似乎将其设置为“MS Shell Dlg(8)”(无论是什么)

3)在LOGFONT我设置lfCharSetDEFAULT_CHARSET

问题:

1)LOGFONT我要设置lfFaceName什么?我试过用日语很好用的Meiryo,但当我把所有东西都改成韩语时,它根本不起作用。

2)总的来说,考虑到它必须在韩语,中文,日语等中工作,我所做的是否正确?

可悲的是,转换为 unicode 不是一种选择..

非常感谢任何帮助!我花了很多时间试图解决这个问题!

0 投票
2 回答
6118 浏览

windows - MBCS 到 UTF-8:如何在 Python 中编码

我正在尝试为 Windows 创建一个重复文件查找器。我的程序在 Linux 中运行良好。但它会将 NUL 字符写入 Windows 中的日志文件。这是由于 Windows 的 MBCS 默认文件系统编码,而 Linux 中的文件系统编码是 UTF-8。如何将 MBCS 转换为 UTF-8 以避免此错误?

0 投票
0 回答
289 浏览

python-3.x - Unicode 字符导致 python 3 上的 bdist_wininst 错误,但不是 python 2

我正在为我的 python 代码编译 Windows 安装程序。我主要编写与语言相关的工具,并在我的文档中包含需要 utf-8 字符串的示例,包括 README 文件。

我正在慢慢地从 Python 2 迁移到 Python 3,最近发现命令

适用于 python 2 但不适用于 python 3。

我已经将问题追溯到我的自述文件中包含 unicode。自述文件被读入 setup.py。

该错误发生在 Python36\lib\distutils\command\bdist_wininst.py

错误是:UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: invalid character

在 python 2.7 中,bdist_wininst.py 中的相关代码是

在 python 3.6 中,bdist_wininst.py 中的等效代码是

这是我的自述文件: https ://github.com/timmahrt/pysle/blob/master/README.rst

这是我的 setup.py 文件,它读取自述文件 https://github.com/timmahrt/pysle/blob/master/setup.py

以及 setup.py 中的相关行:

我的问题:在这种情况下,有没有办法让 python 3 开心?