首页 > 解决方案 > Windows Docker 映像、更改语言、区域设置、标准编码

问题描述

我正在尝试在 Docker 中构建我们的 DotNet 和 VB6 项目。我安装了 vb6,这在 Windows 服务器核心上不起作用,所以我不得不使用纯 Windows 映像。所以我们不能使用本地化的服务器核心镜像来解决这些问题。因为据我所知,Windows 图像本身没有本地化图像。

这一切都构建得很好,但有一个错误,对于我在 VB6 中的字符串内部的每个 ü,ä,ö,ß,我只是在运行时得到 �。我试图将 .cls 文件的编码更改为 UTF8,它在运行时有效,但现在 VB6 IDE 只显示 ü。

在 Powershell 中:

Get-WinSystemLocale

Docker: 1033             en-US            English (United States)

My Workstation: 1031             de-DE            Deutsch (Deutschland)

所以我尝试了 Set-WinSystemLocale,但没有任何成功。

[System.Text.Encoding]::Default

Docker: utf-8

My Workstation: Windows-1252

但这似乎是唯一的。

.cls 文件使用的默认编码是 ANSI,据我了解,这只是使用默认编码?如果是这样,在哪里可以找到这个默认值并且可以更改它?

另外我不知道这是否提供任何帮助,但我读过 VB6 在内部使用 Unicode。

有什么想法或我错过的任何东西吗?这个项目不能因为编码问题而死。而且目前迁移到 DotNet 也不是一个选项。

编辑:

这个也试过了。 在 Windows Docker 容器中设置语言和区域设置

标签: dockerencodinglocalizationvb6locale

解决方案


推荐阅读