0

我有一个问题,我制作的程序无法显示字符串,因为它包含未知字符。我猜该程序是用拉丁文编码的,但它怎么能编码为 utf-8?

我不能简单地更改字符,因为我们是从客户那里收到的。

还是我需要在 SQL 中更改它?

4

2 回答 2

0

当字段或表名有空格或非英文名称时,使用 [ ]作为表名或字段名

于 2012-11-12T13:34:23.163 回答
0

C++ builder 5 本身不支持 UTF8。它使用在 Windows 中定义的字符集,在控制面板/区域配置下。例如,如果您住在瑞典,您的字符集可能会适应瑞典语。如果您尝试打开数据库中的文本或应用程序中的文件,则该文本需要使用与本示例中的 Windows、瑞典语相同的字符集进行编码。在另一种情况下,你会得到奇怪的字符。

按照这个例子,如果你想从你的瑞典语应用程序中显示拉丁字符,你需要可以使用 Unicode VCL 控件,比如Tnt 控件

然后,读取字符串后,需要先将其从拉丁文转换为Unicode,然后才能放入Tnt控件中。您可以使用 MultiByteToWideChar 函数。无论如何,我建议您将您的 C++ Builder 更新到最新版本以支持本机 Unicode,生活会轻松很多。

如果您只是想在数据库中编码字符串并且它不在乎是否丢失符号,您可以在将文本字符集从拉丁文转换为 Windows 字符集之前将其输入数据库。您可以使用 Notepad++ 转换文本的字符集。

于 2012-11-17T17:37:44.320 回答