執行mysql查詢時我得到了下面的unicode字符串。unicode中的字符串替換不起作用
\ u30ad \ u30e3 \ u30f3 \ u30bb \ u30eb
我必須嘗試打印上面的字符串已無法正常改爲UTF字符。 所以,我試着將「\」替換爲「\」。
str.replace(「\\\\」,「\\」); //未正確替換
替換函數在我的方案中不起作用。
我如何在我的情況下將「\\」替換爲「\」。
對不起,我的英語!
有什麼想法?
執行mysql查詢時我得到了下面的unicode字符串。unicode中的字符串替換不起作用
\ u30ad \ u30e3 \ u30f3 \ u30bb \ u30eb
我必須嘗試打印上面的字符串已無法正常改爲UTF字符。 所以,我試着將「\」替換爲「\」。
str.replace(「\\\\」,「\\」); //未正確替換
替換函數在我的方案中不起作用。
我如何在我的情況下將「\\」替換爲「\」。
對不起,我的英語!
有什麼想法?
字符串是不可變的,一旦你創建它就不能改變它。需要分配是從replace()
方法返回到一個新的String參考的對象(或使用同一參考):
str = str.replace("\\\\","\\");
String x =「\\ u30ad \ u30e3 \\ u30f3 \\ u30bb \\ u30eb」; x = x.replace(「\\\\」,「\\」); print(x) – sprabhakaran 2012-04-04 10:32:21
上面的代碼不是打印utf8字符 – sprabhakaran 2012-04-04 10:32:52
你到底需要什麼?爲什麼要替換「\ u」特殊字符的「\」? – 2012-04-04 10:46:59
String
文字等"\u30ad\u30e3\u30f3\u30bb\u30eb"
被轉換爲Unicode字符串(「キャンセル」)由Java編譯器。這意味着它只適用於放在源文件中的字符串。
如果您收到來自數據庫的字符串:\u30ad\u30e3\u30f3\u30bb\u30eb
,則將\
視爲任何其他字符。如果你刪除它,你只會得到:u30adu30e3u30f3u30bbu30eb
。
相反,您應該編寫一個方法(或使用現有的方法),它將在String
中找到所有轉義序列(\u????
)並將它們轉換爲真實字符。例如,請參閱here。
感謝哥們:) ......它工作正常 – sprabhakaran 2012-04-04 13:04:01
'我如何將「\」替換爲「\」'。來吧! – 2012-04-04 10:19:55
這工作正常。 – 2012-04-04 10:20:31
@ Eng.Fouad對不起..「\\」到「\」 – sprabhakaran 2012-04-04 10:27:02