使用POST方法从ASP页面向PHP页面发送德语字符数据


German characters sending data using POST method from ASP page to PHP page

我有一个用POST方法从ASP发送数据到PHP页面的问题。我想寄有名字的邮件。因为我住在奥地利,所以名字都是用德语写的,我们有一些特殊的字符。这些字符没有到达write.

顺便说一句,我还是c#编程新手。我之前在Java-Script中有网站,但我必须将它与数据库连接起来,因此我切换到c#,现在我就像一个"树林里的婴儿"。
       this.hdnDaten.Value = "ÄÖÜ|äöü|ß|é|@";
// mit POST versuchen
   using (var client = new WebClient())
   {
       var postData = new System.Collections.Specialized.NameValueCollection();
       postData.Add("von", this.hdnVon.Value);
       postData.Add("an", this.hdnAn.Value);
       postData.Add("betreff", this.hdnBetreff.Value);
       postData.Add("daten", this.hdnDaten.Value);
       byte[] response = client.UploadValues("http://xxxxxx.php", "POST", postData);
       var responsebody = Encoding.UTF8.GetString(response);
   }

上面的字符(在this. hdndate . value中)是这样到达邮件正文的:

"很œ|一个¤¶¼|一个ÿ|一个©| @

有谁知道我怎么做才能最终得到相同的字符?

编辑20143013:我想我有一个线索:我必须将postData编码为ANSI (Codepage 1252)。我试过这么做,但没有用。有人知道我要怎么做吗?

编辑20140320:我甚至不敢给你答案:我一直在错误的地方寻找(有点像MH370):问题在于邮件的接收端(我使用POP3-Viewer进行测试);当我把邮件下载到Outlook上时,一切正常。有趣的是,这并没有发生在原始(Javascript)版本,这就是为什么我看错了地方。

谢谢埃迪

尝试设置客户端。在调用UploadValues之前编码为UTF-8。还要确保在服务器上以UTF-8格式读取文本。

尝试this.hdnDaten.Value = HttpUtility.UrlEncode("ÄÖÜ|äöü|ß|é|@");在您的帖子参数

在PHP上,你需要通过html_entity_decode

解码参数