为什么json_decode用哈希符号返回NULL

Use $.post to send array from JS to PHP file:

    $.ajax({
        url: window.location + "crawler/",
        type: "POST",
        dataType: "json",
        data: {
            wartosc: zmienna
        },
        success: function (odp) {
            tab = JSON.stringify(odp);
            $.post(window.location + "crawler/return_data",
                {
                    data: tab  //tab->array
                },
                function (data) {
                    $('#wynik').html(data);
                    $('.pobierz').show();
                }
            )
        }
    })

before use json_decode() in PHP using var_dump($_POST['data']); array looks like this:

string(612) "[{"Nazwa":"http://wp.pl/","Adres IP":"212.77.98.9","Kod odpowiedzi":301,"Roboty":"-","Tytul":"-","Slowa kluczowe":"-","Opis":"-"},{"Nazwa":"http://www.wp.pl/","Adres IP":"212.77.98.9","Kod odpowiedzi":200,"Roboty":"index,follow","Tytul":"Wirtualna Polska - Wszystko co ważne - www.wp.pl","Slowa kluczowe":"wp.pl, WP, Wirtualna Polska, Pogoda, Wiadomości, Newsy, Informacje, Sport, Finanse, Rozrywka, Program, Telewizja, #dziejesiewpolsce","Opis":"Nowoczesne medium, porządkuje świat i dostarcza angażujące informacje, rozrywkę i usługi w czasie rzeczywistym. Przewodnik Polaków w wirtualnym świecie."}]" 

And everything fine, but when send this array to another PHP script using this (can't use AJAX):

window.location.href = window.location + "crawler/save_to_csv?data=" + tab;

And try var_dump($_GET['data']); return:

string(422) "[{"Nazwa":"http://wp.pl/","Adres IP":"212.77.98.9","Kod odpowiedzi":301,"Roboty":"-","Tytul":"-","Slowa kluczowe":"-","Opis":"-"},{"Nazwa":"http://www.wp.pl/","Adres IP":"212.77.98.9","Kod odpowiedzi":200,"Roboty":"index,follow","Tytul":"Wirtualna Polska - Wszystko co ważne - www.wp.pl","Slowa kluczowe":"wp.pl, WP, Wirtualna Polska, Pogoda, Wiadomości, Newsy, Informacje, Sport, Finanse, Rozrywka, Program, Telewizja, " 

String cut as '#' symbol and if delete this hash from url string:

'#dziejesiewpolsce'

All works perfect, but I need hash symbol. How to do this?

Thanks

You need to encode your value correctly for usage in a url.

In javascript:

... + "crawler/save_to_csv?data=" + encodeURIComponent(tab);

If your data is ALWAYS similarly formatted and ONLY IF hashtag is the ONLY problem (and not other characters) try this:

$hashtagEncodedData = str_replace("#", "%23", $_POST['data']);

$json = json_decode($hashtagEncodedData);

Then in script that receives this data (the other PHP script):

$decodedData = rawurldecode($_GET['data']);