我目前面對一些問題,特殊字符的不同unicode表示,尤其是與口音或diaereses等。我寫了一個python腳本,它分析多個數據庫轉儲並比較它們之間的值。問題是,在不同的文件中,這些特殊字符的存儲方式不同。在某些文件中,這些字符是組成的,其他字符是分解的。正如我希望有從轉儲中提取的字符串總是在由表示,我嘗試添加以下行:正常化unicode不能正常工作
value = unicodedata.normalize("NFC", value)
然而,這種解決我的問題只有在某些情況下。例如,對於變音器,它按預期工作。儘管如此,諸如,等字符仍將保留在已分解的模式中(e͏̈)。
我想通,有COMBINING字形JOINER的Ë和分音符性格之間個字符數(U + 034F)。這是正常的,還是這可能是我的問題?
有誰知道,如何處理這個問題?
我想說,如果你有_COMBINING GRAPHEME JOINER_,那麼它有一個原因,但它取決於文本語言(是的,即使是diaeresis)。我傾向於認爲這不是一個錯誤,那麼你不應該刪除它(除非你想進行一個_relaxed_比較),但你應該問這個語言的母語:它可能也是因爲原來的文本處理軟件,不是因爲原因的語言。 –