我有一個base64
編碼JSON字符串從JavaScript與部分西里爾語文本。我發送到服務器,並想解碼base64
,但這給了我一個奇怪的結果。解碼西里爾base64在php
字符串:
eyJuYW1lT3JkZXIiOlsicHJvcGVydHlpZCIsInByb2plY3RuYW1lIiwiZW52aXJvbm1lbnQiLCJ2YXJpYWJsZSIsInZhbHVlIiwiY29tcG9uZW50IiwidXNhZ2UiLCJhY2Nlc3N0eXBlIiwidmVyc2lvbiIsImxhbmd1YWdlIl0sInBhcmFtZXRlcnMiOlsiNjg1IiwiRGVtbyIsInByb2QiLCJsYWkiLCJ2YWx1ZdCG0L3QtNC10LrRgSDQm9C40YHRgtC+0LLQvtGXINCf0L7QstC10YDRhdC90ZYgKC0pIiwiVHJhbnNsYXRpb24iLCJOT1RUUkFOU0xBVEVEIiwid3JpdGUiLCIwLjQuMCIsInVrIl19
我生成該字符串如下:
btoa(unescape(encodeURIComponent(JSON.stringify(
陣列))))
預期結果:
{
"nameOrder":[
"propertyid",
"projectname",
"environment",
"variable",
"value",
"component",
"usage",
"accesstype",
"version",
"language"
],
"parameters":[
"685",
"Demo",
"prod",
"lai",
"valueІндекс Листової Поверхні (-)",
"Translation",
"NOTTRANSLATED",
"write",
"0.4.0",
"uk"
]
}
結果(正常base64_decode
功能):
{"nameOrder":
[ "propertyid",
"projectname",
"environment",
"variable",
"value",
"component",
"usage",
"accesstype",
"version",
"language"
],
"parameters":
[ "685",
"Demo",
"prod",
"lai",
"valueІндекс Листд,ԯեȴ'��ԭt`4at/teȊJHˈ՜ٛݛ][ۈˈӓՕѓՓUQˈޜHˈ̋͋̈ˈޚȗ_
好的,我發現了一些東西!
當我使用$_GET
從url獲取字符串時,它會更改。我認爲這是問題。我能做些什麼來從url獲取正確的字符串?
當瀏覽器編碼設置爲utf-8時工作正常。 –
但我沒有在瀏覽器中顯示結果,我只將它發送到服務器,所以我可以處理它。在那裏沒有在utf-8中進行處理。 – Golovior
你沒有提到你的問題有任何進一步的處理。由於您的示例字符串可以在我的環境中有效解碼,請。將您的問題擴展到實際問題。 –