【发布时间】:2016-02-02 11:59:32
【问题描述】:
我使用ResourceManager 在我的网络表单应用程序中本地化字符串。该应用程序支持en-us 和sv-se。字符串是从各自的资源文件中正确提取的,但是当它们显示时,unicode 字符会作为垃圾值出现。
resources.sv-se.restext
...
ContactInfoFormatPrimary={0} (primär)
...
输出
获取资源的代码:
ResourceManager resourceManager = GetResourceManager(...)
...
text = resourceManager.GetString(resourceId);
我试过调试代码,返回的文字是{0} (prim�r)
是什么导致资源解码不正确?
更新:
我能够在控制台应用程序中使用相同的架构并获得正确的字符串,我需要处理与应用程序配置相关的任何事情吗?
【问题讨论】:
-
显示在 where (网络/桌面)以及使用什么字体?这通常是字体或输出编码问题。
-
看起来不像是字体问题,因为VS的调试窗口显示的一样。
-
输入字符串时出错。 Crystal Ball 说您正在使用文本文件而不是 .resx 文件进行本地化,并且它们没有 BOM。
-
我使用
restext文件进行本地化。 -
您确定将
restext文件保存为UTF-8 或UTF-16?
标签: c# encoding localization resource-files resgen