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.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
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