簡體   English   中英

PHP:特殊字符轉換

[英]PHP: Special Characters Conversion

我遇到了這樣的問題:我使用Javascript Ajax請求將特殊字符轉換為URL上的參數,然后將其讀取到PHP。 字符是“Ñ”。

在我的JavaScript中,我將參數設置為escape('PiÑa')並轉換為“ Pi%D1a”

當我在php中閱讀它時,帶有問號的菱形將會出現。 這是我的閱讀方式。

   escape(message) // Message being the "Pi%D1a"

就像我說的那樣,出現了一個奇怪的字符,即當我將其保存到數據庫postgreSQL時,它會發出錯誤消息。 我該如何解決?

D1是“Ñ”字符的ISO-8859-1(“ Latin-1”)編碼形式。
“帶問號的菱形”(。)是Unicode替換字符。 每當您看到一個字符時 ,它都表明瀏覽器/編輯器/正在解釋的文本正在嘗試將文本解釋為Unicode ,並且遇到了在假定的Unicode編碼中無效的字符。

換句話說,該字符實際上是Latin-1編碼的,但是您要告訴瀏覽器它(可能是)UTF-8編碼的。 您的編碼不匹配。 通過Content-Type: text/html; charset=XXX告訴瀏覽器正確的編碼Content-Type: text/html; charset=XXX Content-Type: text/html; charset=XXX標頭,或者在使用字符之前將字符從Latin-1轉換為UTF-8。

您是否嘗試過使用urldecode($message)

%D1是Ñ的URL編碼表示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM