【问题标题】:How to support other languages in Azure blob storage?如何在 Azure Blob 存储中支持其他语言?
【发布时间】:2012-02-16 14:56:31
【问题描述】:

我正在使用 ASP.NET/C# 和 AZURE 开发 Web 应用程序。我正在使用 Azure Blob 来存储文件。我在用其他语言存储文件时遇到问题(只有英语可以)。

示例: 我将此作为.txt文件서울중앙지검 공안1부는 오늘(19일) 아침 8시 20분 서울 여의도"

但是当我检索这个时,它的显示:“한ë,∼ë¼ë‹¹ ì „ë‹¹ëŒ€íšŒ ëˆ ë´‰íˆ¬ ì,¬ê±´ì„ 수ì,¬í•˜ ê³ ìžˆëŠ” ê²€ì°°ì´ ë°•í¬íƒœ êµíšŒì˜ìž¥ 비서관 ì,¬ë¬´ì‹¤ì„ ì „ê²© ì••ìˆ˜ìˆ˜ìƒ ‰í–ˆìŠµë‹ˆë‹¤.ì¡°ì •ë§Œ, ì´ë´‰ê±´ ë' ìˆ〜ì„ ë¹„ì„œê´€ì‹¤ê³¼ ì—¬ë¹„ì„ – 함모 씨가 근무하는 ë¶€ì†ì‹¤ìž…니다. 서울ì¤'ì•™ì§ €ê²€ 공안1부는 ì∼¤ëŠ∼(19ì¼) 아침 8시 20ë¶„ 서울 ì—¬ì∼ë„”

有什么问题?

谢谢
纳希德

【问题讨论】:

  • 这与 Azure 无关,这是文本编码问题。
  • @Chandermani 我认为是正确的。回读文件时能否尝试指定 UTF-8 或 UTF-16?磁盘上的文件有一个 BOM,告诉读者文件的编码是什么,但我怀疑当你从 blob 下载文件时,这会丢失或被忽略。

标签: asp.net azure multilingual azure-blob-storage


【解决方案1】:

您必须将文本文件保存为 UTF 格式(不是 ASCII)。

更新@naruse 评论后

您必须为包含字符集的 blob 指定 content type property。我对西里尔字母这样做,它工作得很好。韩文应该没有问题。

如果是纯文本文件,Content Type 的正确值应该是:

text/plain; charset=utf-8

或者你自然使用的字符集。

【讨论】:

  • 我用这个。但它不起作用: 1. blob.Properties.ContentType = Encoding.UTF8.HeaderName; 2.blob.Properties.ContentType = "charset=utf-8"; 3.blob.Properties.ContentLanguage = Encoding.UTF8.HeaderName;但它不起作用..
  • 文件本身怎么样。不仅是 blob 属性。您是否尝试使用诸如 NodePad++ 或 UltraEdit 之类的“高级”文本编辑器或任何支持 UTF8 编码的工具来保存文件?因此,您可以为文件本身显式设置 Unicode 编码。尝试不使用 BOM(字节顺序掩码)。
  • Content-Encoding 不适合这种用法;它的值通常是 gzip 或 deflate。应该保存为 Content-Type 的 charset 参数
  • @naruse,看来问题已经通过简单地将文件转换为 UTF-8 解决了,但我想知道是什么让你想到这个问题和答案,这已经超过 2 年了?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
  • 2018-07-13
  • 2015-02-08
  • 2013-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多