[英]How do I prevent blank characters in my textarea in javascript?
[英]Special characters in my javascript variables keep showing up as �, how do i prevent this?
我有一個javascript腳本,它調用一個php頁面來提供帶有建議的ajax表單。 這些建議由php頁面返回正常,但出於某種原因,當我將javascript對象請求的responsetext設置為我的HTML頁面中的元素時,所有特殊字符(即á或ã)都顯示為此問號。 是否必須在請求的響應文本上運行函數II以確保正確讀取這些函數?
謝謝。
如果您沒有將HTML頁面作為UTF-8提供,瀏覽器將猜測編碼,通常是單字節Windows代碼頁,具體取決於用戶的語言環境。
但這對AJAX來說不會發生。 使用XMLHttpRequest
,除非您在Content-Type: ...; charset=
明確說明編碼Content-Type: ...; charset=
Content-Type: ...; charset=
參數,瀏覽器會將其視為UTF-8。 這意味着如果您實際上正在提供Windows代碼頁1252(西歐)內容,您將獲得無效的UTF-8序列和隨之而來的問號。
您不希望使用非UTF-8編碼! 確保在整個應用程序中使用UTF-8。 使用Content-Type: text/html; charset=utf-8
您的所有頁面提供服務Content-Type: text/html; charset=utf-8
Content-Type: text/html; charset=utf-8
,將數據存儲在UTF-8表中,使用mysql_set_charset()
選擇UTF-8等。
無論如何,請考慮使用JSON傳遞AJAX響應。 函數json_encode()
將創建一個JSON字符串,該字符串對非ASCII字符使用JavaScript轉義序列,這避免了編碼不匹配的任何問題。 此外,這比添加原始HTML更容易擴展以添加功能。
我會嘗試在你的PHP腳本中將所有內容編碼為html實體。
在將結果返回到javascript之前,可以通過執行此類操作輕松測試:
$results = htmlentities($htmlstring);
還有你可能會嘗試的htmlspecialchars
功能。
更多相關信息:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.