1

我想弄清楚什麼編碼GA使用時,它保存餅乾。例如,我可以在設置utm_source參數時使用非西方字符,並且它們在GA報告中顯示正常。但是,如果我查看__utmz cookie,它與utm_source參數的值不匹配,而是似乎以某種方式編碼,我知道存在URL編碼,但這是不同的。谷歌Analytics_字符編碼的__utm cookies

實施例:

1)訪問www.example.com?utm_source=ХЦЧШЩЬЫЪЭЮЯ

2)查看餅乾。 __utmz cookie保存提供給utm_source參數的任何值。它包含值似乎被編碼的值。

3)點擊網站,然後查看GA報告。你看到ХЦЧШЩЬЫЪЭЮЯ作爲訪問來源,這是正確的。

我正在嘗試編寫一些將讀取__utmz cookie並將其保存在Google App Engine數據存儲區中的JavaScript,然後將其成功顯示在HTML頁面中。我試過所有類型的編碼(utf-8)解碼(utf-8)解決方案,但似乎沒有任何工作。我認爲這是因爲我沒有設置cookie時使用的原始編碼。

回答

2

使用的編碼是UTF-8。當ХЦЧШЩЬЫЪЭЮЯ是UTF-8編碼,然後顯示UTF-8編碼值的字節,就好像它們是windows-1252編碼的一樣,你可以得到ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐпп 。例如,第一個字符X(西里爾文大寫字母ha)是U + 0425,當UTF-8編碼時,它是字節0xD0 0xA5。當這些字節被解釋爲windows-1252(或ISO-8859-1)編碼的字符數據時,它們表示U + 00D0 U + 00A5,即Ð¥。

+0

謝謝Jukka!這真的有幫助! –