在HTML中輸出字符串時,出於可理解的原因,必須將特殊字符轉義爲HTML實體(「& <>」等)。當使用HTML實體轉義字符串時,如果我使用UTF-8,可以安全地跳過Unicode 127以上的編碼字符嗎?
我已經檢查了這兩個Java實現: org.apache.commons.lang.StringEscapeUtils.escapeHtml(字符串) net.htmlparser.jericho.CharacterReference.encode(CharSequence的)
兩個逃跑的所有字符上面的Unicode代碼點127(0x7F),它實際上是所有非英文字符。
這種行爲很好,但是當字符是非英文的時候,它產生的字符串是非人類可讀的(例如,希伯來文或阿拉伯文)。我已經看到,當Unicode 127以上的字符不會像這樣被轉義時,它們仍然可以在瀏覽器中正確顯示 - 我相信這是因爲html頁面是UTF-8編碼的,因此瀏覽器可以理解這些字符。
我的問題:如果我的網頁是UTF-8編碼,我可以在轉義HTML實體時安全地禁用代碼點127上方的轉義Unicode字符嗎?