c# - 字符 ä 在同一字符串中以不同的字符代码表示
问题描述
我有一个在网上上传的文件名“Schränke Wintsch.pdf”。文件名保存在 XML 文件中,如下所示:
<File>Schra?nke Wintsch.pdf</File>
如果我在 c# 中调试它并手动添加一个 ä,那么它会正确保存。
<File>Schra?nke Wintsch-ä.pdf</File>
好的,我知道这是一个编码问题。但是为什么相同的 ä 字符用不同的字符代码表示(图 2 上的示例)?
解决方案
XML 使用标头定义文档中使用的编码。它看起来像这样<?xml version="1.0" encoding="ISO-8859-9" ?>
......
如果附加字符串,请确保使用相同的编码以避免不匹配。
测试附加 char 字节,看看是否有帮助。
var en = Encoding.GetEncoding("ISO-8859-9");
en.GetString(Encoding.GetBytes("ä"));
推荐阅读
- python - 搜索和映射框架
- wpf - 您可以使用 LiveCharts 显示具有 x 和 y 值对的线系列吗?
- android - 如何使用 go 启动我的 android 模拟器?
- macos - OSX Catalina 上的 CronJobs 未执行
- python - 在 Pandas Series 中,可以将多个元素的元组作为参数传递给 series.str.startswith( )?
- python - 将字典中的数组转换为数组列表
- python - 如何使用 Flask 提供 MP4 视频
- python - 需要动态分配文件名的指导
- node.js - Typeorm + Express on Cloud Function for Firebase
- angular - 为什么在向不同的 ASP.NET Core 端点发出大约 20 个请求后,Angular 应用程序 http 请求会挂起?