2016-04-21 8 views
0

Ich habe Chinesisch/Mandarin-Zeichen in einer Datei, die ich in den Azure-Blob hochlade, z. When 测试 .jpgAzure Blob Storage Hochladen - Sonderzeichen, die als Fragezeichen hochgeladen werden ??. Jpg

Wenn ich diese Datei per Azure Explorer in Azure ziehe (als Test, um sicherzustellen, dass die Umgebung damit umgehen kann), wird die Datei perfekt mit folgendem Dateinamen hochgeladen: 此 测试 .jpg (wenn ich verwenden sie einen anderen Azure Explorer von Redgate dann wird es als ???? hochgeladen. jpg)

ich den normalen Standardcode folgen

Dim storageAccount As CloudStorageAccount = CloudStorageAccount.Parse(
      CloudConfigurationManager.GetSetting("StorageConnectionString")) 
Dim blobClient As CloudBlobClient = storageAccount.CreateCloudBlobClient() 
Dim blockBlob As CloudBlockBlob = container.GetBlockBlobReference(filename) 
    blockBlob.UploadFromByteArray(FileBytes, 0, FileBytes.Length) 

, laden, aber es wird als ????.jpg

hochgeladen wie kann ich die Datei in Blob hochladen um den korrekten Dateinamen (Sonderzeichen) zu haben? Ich habe PHP-Beispiele gesehen, aber nichts mit .net zu tun, die ich anwenden könnte

Antwort

0

Ich glaube nicht, dass dies ein Problem mit Ihrem Upload-Code ist. Es gibt different types of Chinese character encoding und leider nur Unicode würde ich den Namen der Datei packen würde gut mit .Net

spielen (wahrscheinlich es in GB codiert ist, da es chinesisch vereinfacht wird), es konvertieren die suggestions here

Unicode chinesischen Unicode folgen erwartet, dass sie funktionieren, aber sie gelten immer noch als Sonderzeichen. Wenn es immer noch Probleme gibt, müssen Sie wahrscheinlich in Base64 encoding oder URLencodingzusätzlich zu Unicode einwickeln. Diese beiden Codierungsmethoden funktionieren nicht mit GB oder Big5.