我有我的 REST Web 服务,它应该接收带有西里尔字母的 GET 编码请求。
例如:www.service/srv?param1=%D1%E0%ED%EA%F2
我知道这是 Windows-1251 ISO-8859-1,但作为我的 Web 服务函数中的输入参数值,总是有类似问号的东西。我猜该服务将字符串转换为 UTF-8。
是否可以在 Windows-1251 代码页中接收 GET 请求?
有一个类似的线程:Cyrillic letters are wrongly encoding in the C# Web Service 答案是使用 utf-8 编码。但在我的情况下,我无法更改对 Web 服务的请求。
网络服务说明:
[OperationContract]
[WebInvoke(Method="GET", ResponseFormat=WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = @"param?p1={p1}&p2={p2}&p3={p3}…")]
string MyFunction(string p1, string p2, string p3, …);