2016-05-13 58 views
-1

我正在製作標準jQuery $.ajax()調用,正在執行POST。該調用將一個字符串傳遞給PHP控制器。將短劃線字符替換爲問號(Ajax調用)

問題如下:當字符串中使用了一個en dash( - )字符時,到達PHP時它被替換爲(?)字符。一個正常的連字符( - )不會導致問題。

該網站的編碼是UTF-8。我不知道如何解決這個問題。我可能可以做一些字符替換,但是我需要爲每個「有問題」的標點符號做些什麼?

和問題放在一邊,不應該這樣只是工作如果編碼是正確的?

令人困惑。

更新:

我上傳遞的字符串中使用mb_detect_encoding()。結果是「ASCII」...我正在使用遺留代碼。我該如何解決這個問題?

+4

PHP腳本編碼怎麼樣? '該網站的編碼是UTF-8。「你的意思是HTML頁面和PHP都是UTF8編碼的? –

+0

對ajax的字符串做一個urldecode – madalinivascu

+0

更新了問題。 – lesssugar

回答

0

在PHP方面,$_REQUEST global用於檢索Ajax數據。在我將其更改爲$_POST後,保留了破折號。

雖然我不明白爲什麼$_REQUEST失敗。

無論如何,這工作在這種情況下。我真的不喜歡開發這個代碼的開發人員,並創建了這個項目:)

相關問題