2013-07-26 33 views
1

MS Word使用未在ASCII或ISO-8859-1中表示的Windows-1252字符編碼集中的字符。用Java/JSP處理的MS-WORD特殊字符

// smart single quotes and apostrophe 
s = s.replace(/[\u2018|\u2019|\u201A]/g, "\'"); 
// smart double quotes 
s = s.replace(/[\u201C|\u201D|\u201E]/g, "\""); 
// ellipsis 
s = s.replace(/\u2026/g, "..."); 
// dashes 
s = s.replace(/[\u2013|\u2014]/g, "-"); 
// circumflex 
s = s.replace(/\u02C6/g, "^"); 
// open angle bracket 
s = s.replace(/\u2039/g, "<"); 
// close angle bracket 
s = s.replace(/\u203A/g, ">"); 
// spaces 
s = s.replace(/[\u02DC|\u00A0]/g, " "); 

我在編碼之前使用了REPLACE函數來解決這個問題。但我無法找到適當的價值 - >它被轉換成不同的格式。由於這個問題,我得到腳本錯誤,並導致異常頁面。

回答

0

實際上,左右兩個智能雙引號的值爲十六進制值93和94。 因此,使用這些值代替它們的Utf-8值(如201C或201D) 例如

str.replaceAll("[\\u0093|\\u0094]", "\"")