首页 > 解决方案 > 字符 ä 在同一字符串中以不同的字符代码表示

问题描述

我有一个在网上上传的文件名“Schränke Wintsch.pdf”。文件名保存在 XML 文件中,如下所示:

<File>Schra?nke Wintsch.pdf</File>

如果我在 c# 中调试它并手动添加一个 ä,那么它会正确保存。

<File>Schra?nke Wintsch-ä.pdf</File>

好的,我知道这是一个编码问题。但是为什么相同的 ä 字符用不同的字符代码表示(图 2 上的示例)?

图 1

图 2

标签: c#asp.net.net

解决方案


XML 使用标头定义文档中使用的编码。它看起来像这样<?xml version="1.0" encoding="ISO-8859-9" ?>......

如果附加字符串,请确保使用相同的编码以避免不匹配。

测试附加 char 字节,看看是否有帮助。

var en = Encoding.GetEncoding("ISO-8859-9");

en.GetString(Encoding.GetBytes("ä"));

推荐阅读