【问题标题】:regiona setting Encoding problems区域设置编码问题
【发布时间】:2011-10-09 07:51:11
【问题描述】:

我的应用程序有一个 xml 格式的配置文件。 xml文件与

<?xml version="1.0" encoding="UTF-8" ?>

在这个文件中,我有一个包含“i”字符(73 ASCII 码)的设置。如果我将区域设置更改为土耳其语并将位置更改为土耳其,那么当我从配置文件中获取设置时,该字符不再具有 73 ASCII 码,而是 196 176。 如何转换 settign,以便我可以使用 73 ascii 代码而不是 196 176 的“i”。 谢谢, 波格丹

这里有一些代码..

XmlDocument doc = new XmlDocument();
doc.Load(configFilePath);
....
node = perentNode.SelectNodes("MySetting");
string mysetting = node[0].InnerText;

【问题讨论】:

  • 你如何读取配置数据?可以提供一些代码示例吗?
  • 此处的表格:ascii.cl 声称值为 73 的 ASCII 实际上是大写 I。它转换该值的原因是因为您更改了区域设置。解决方案强制代码中的区域设置。
  • @Ramhound 你能指出我正确的方向吗...我应该如何在代码中仅在我使用配置文件设置的部分强制区域设置?
  • xml 以 utf8 编码。这确实没有留下任何空间以不同的方式解释其字符代码。检索到元素文本后,出现问题的地方都会出错。

标签: c# character-encoding ascii regional-settings


【解决方案1】:

我解决了这个问题

var oldSetting = Application.CurrentCulture; Application.CurrentCulture = CultureInfo.InvariantCulture;
..我的工作 Application.CurrentCulture = oldSetting;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    相关资源
    最近更新 更多