我正在Ubuntu Linux上編寫一個java應用程序,該應用程序讀取文本文件並從數據創建xml文件。一些文字包含彎撇號和引號,我轉換爲使用下面的代碼直撇號和引號:Linux上的java unicode轉換無法在max os上工作x
dataLine = dataLine.replaceAll("[\u2018|\u2019]", "\u0027").replaceAll("[\u201C|\u201D]", "\u005c\u0022");
這工作得很好,但是當我端口的jar文件到Mac OSX的機器,我得到三個問題標記我應該在哪裏得到直撇子和報價。我在Mac上創建了一個測試應用程序,使用相同的代碼行來完成轉換和輸入相同的測試文件,並且它工作正常。爲什麼Linux機器上創建的jar文件不能在Mac上正常工作?我認爲java應該是跨平臺兼容的。
您是否知道'[\ u2018 | \ u2019]'匹配三個字符? – Joni
「我得到三個問號」讓他們在哪裏?往返途中有幾處編碼錯誤可能會蔓延起來,在發生這種情況時需要進行隔離。 – millimoose