2014-09-11 59 views
0

的服务如何显示Unicode代替“????”在WCF Web服务

ISayHello.cs(接口)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Runtime.Serialization; 
using System.ServiceModel; 
using System.Text; 

namespace MyWCFService 
{ 
    [ServiceContract] 
    public interface IHelloService 
    { 
     [OperationContract] 
     string SayHello(String name, String language); 
    } 
} 

SayHello.cs(类)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Runtime.Serialization; 
using System.ServiceModel; 
using System.Text; 
namespace MyWCFService 
{ 
    public class HelloService : IHelloService 
    { 
     public string SayHello(String name, String language) 
     { 
      switch (language) 
      { 
       case "en": 
        return "Hello " + name; 

       case "ja": 
        return "こんにちは " + name; 

       case "ch": 
        return "您好 " + name; 

       case "es": 
        return "Hola " + name; 

       default: 
        return "Unsupported Language"; 
      } 
     } 
    } 
} 

访问类 的Program.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.ServiceModel; 
namespace WCFServiceTester 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("Enter your name: "); 
      string name = Console.ReadLine(); 
      Console.WriteLine("Enter your language: "); 
      string lang = Console.ReadLine(); 

      HelloServiceClient hsc = new HelloServiceClient(); 
      Console.WriteLine(hsc.SayHello(name, lang)); 
      Console.ReadKey(); 
     } 
    } 
} 

我使用的是Visual Studio 2008,我是C#的新手。 当我运行的Program.cs的情况下,输出我选择语言CH(中国)或ja(日文)如下:

输入你的名字: 布鲁斯 输入你的语言: JA

? ???布鲁斯(而不是こんにちは布鲁斯)

+0

http://forums.asp.net/t/1481581.aspx?Unicode+characters+becoming+ – user1519979 2014-09-11 10:46:27

+0

'Console.OutputEncoding = System.Text.Encoding.UTF8;' – 2014-09-11 10:49:41

回答

2

你的代码应该支持UNICODE就好了。您的控制台字体是打印它,不是。至少不是默认的。将控制台切换为UNICODE字体。

0
Console.OutputEncoding = System.Text.Encoding.Unicode