【问题标题】:Where to change encoding to print umlauts?在哪里更改编码以打印变音符号?
【发布时间】:2014-12-21 11:52:18
【问题描述】:

我正在四处寻找修复这个错误。 我有以下代码,但它总是输出错误编码的单词。

    public static string sPart(string original)
    {
        string[] values = original.Split('\t');
        List<string> words = values.Skip(1).ToList();
        StringBuilder sb = new StringBuilder();
        foreach (var word in words)
        {
            sb.Append(word + " ");
        }

        return sb.ToString();
    }

有人知道如何使用另一种编码吗?

【问题讨论】:

  • 使用的字符串是zts3e Großer Fuchs .. 但上面的代码返回Gro?er Fuchs
  • 好的,我发现了错误。我没有更改 StreamReader 编码。就像瞎了一样。

标签: c# encoding default diacritics


【解决方案1】:
    static void Main(string[] args)
    {
        Console.WriteLine(sPart("zts3e  Großer Fuchs"));
        Console.ReadKey();
    }

    public static string sPart(string original)
    {
        string[] values = original.Split('\t');
        List<string> words = values.Skip(1).ToList();
        StringBuilder sb = new StringBuilder();
        foreach (var word in words)
        {
            sb.Append(word + " ");
        }

        return sb.ToString();
    }

代码有效。

你是如何展示方法的结果的?

编辑

实际上有一个更好的方法来代替使用 StringBuilder

public static string sPart(string original)
{
    return original.Split(new string[] { "\t" }, 2, StringSplitOptions.None)[1];
}

【讨论】:

    猜你喜欢
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    相关资源
    最近更新 更多