如何在 C# 中将标签文本转换为 UTF-8

how to transform label text to UTF-8 in c#

我正在尝试在 c# 中将标签的文本转换为 utf-8,我应该怎么做?

            lblName.Text = e.displayName;

您不能更改字符串的编码。在 .NET 中,字符串在内部使用 UTF-16 编码。您只能在将字符串转换为 to/from 字节序列(例如写入文件/从文件中读取)时影响编码。

您应该看看那边的 MSDN 示例中提到的解决方案: https://msdn.microsoft.com/en-us/library/system.text.utf8encoding(v=vs.90).aspx

using System;
using System.Text;

class UTF8EncodingExample {
public static void Main() {
    // Create a UTF-8 encoding.
    UTF8Encoding utf8 = new UTF8Encoding();

    // A Unicode string with two characters outside an 8-bit code range.
    String unicodeString =
        "This unicode string contains two characters " +
        "with codes outside an 8-bit code range, " +
        "Pi (\u03a0) and Sigma (\u03a3).";
    Console.WriteLine("Original string:");
    Console.WriteLine(unicodeString);

    // Encode the string.
    Byte[] encodedBytes = utf8.GetBytes(unicodeString);
    Console.WriteLine();
    Console.WriteLine("Encoded bytes:");
    foreach (Byte b in encodedBytes) {
        Console.Write("[{0}]", b);
    }
    Console.WriteLine();

    // Decode bytes back to string. 
    // Notice Pi and Sigma characters are still present.
    String decodedString = utf8.GetString(encodedBytes);
    Console.WriteLine();
    Console.WriteLine("Decoded bytes:");
    Console.WriteLine(decodedString);
}}

在 C# 中,字符串使用 UTF-16。因此,您可能对此没有问题。

我认为您的 html 字符集有问题。

要将页面字符集设置为 "UTF-8",请在页面 header

上设置以下内容
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">