Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Diakritika mezi c# a php

Zdravíčko.

Potřeboval bych poradit s jednou nepříjemnou věci.

Mám PHP aplikaci která funguje jako "Server" . Přes c# a metodu HttpWebRequest POST do ní odesílám nějaké data a z php se mi vrací odpovědi. Díky cookies a session zůstane uživatel furt přihlášen na straně php serveru a není nutné odesílat pokaždé přihlašovací udaje. Problém nastává tehdy , kdy mám odeslat data s diakritikou a za boha prostě nemohu dostat z toho rozumné kódování.

Kdyby jste někdo věděli co s tím , byl bych moc vděčný . Díky předem za odpovědi.

Předmět Autor Datum
A jaké kódování teda používáš? nový
Wikan 23.05.2015 09:57
Wikan
nejaka data, nejaka funkce, nejake kodovani. To vsetko musis ako programator vediet presne. JAKE tam… nový
MM.. 23.05.2015 10:01
MM..
public string SendQuery(string query) { UTF8Encoding enc = new UTF8Encoding(); byte[] postdata = en… poslední
Grivenko 28.05.2015 18:56
Grivenko

nejaka data, nejaka funkce, nejake kodovani. To vsetko musis ako programator vediet presne. JAKE tam mas kodovani v tom C#, jake data, jake kodovani ocakava ten PHP, co s tym robi, co vracia, v jakom kodovani. to urciujes vsetko ty, ptz programator si TY, ne ujo nahoda.
Idealne je pouzivat vsade unicode.

        public string SendQuery(string query)
        {
            UTF8Encoding enc = new UTF8Encoding();
            byte[] postdata = enc.GetBytes("query=" + query);

            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(SerUrl);
            webRequest.CookieContainer = cookies;
            webRequest.Method = "POST";
            webRequest.ContentType = "application/x-www-form-urlencoded";
            webRequest.ContentLength = postdata.Length;
            webRequest.Headers.Add(HttpRequestHeader.AcceptCharset, "UTF-8");

            Stream stream = webRequest.GetRequestStream();
            stream.Write(postdata, 0, postdata.Length);
            stream.Close();

            HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
            stream = response.GetResponseStream();

            StreamReader reader = new StreamReader(stream, Encoding.UTF8);
            string ReturnData = reader.ReadToEnd();

            return ReturnData;
        }

PHP má výchozí kódování UTF-8. Když odešlu třeba "+ěščřžýá" a na php hned nechám poslat zpět - echo $_POST["query"] - tak mi to vypíše +???????;

Zpět do poradny Odpovědět na původní otázku Nahoru