首页 > 解决方案 > 如何修复字符串分配中错误的 utf 字符?

问题描述

我有一个 python3.6 循环执行以下操作:

childrenList = []

output["text"] = path

for item in sorted(os.listdir(path)):
    contentFullPath = os.path.join(path, item)
    children = {}

    if os.path.isfile(contentFullPath):
        print("item = "+str(item))
        children["text"] = item
        print("children = "+str(children))
        children["id"] = contentFullPath
        childrenList.append(children)

我得到以下输出:

web_1     | item = Obamaééé.mp4
web_1     | children = {'icon': 'jstree-file', 'text': 
            'Obamae\udccc\udc81e\udccc\udc81e\udccc\udc81.mp4'}

为什么名为 children 的变量中的文本没有正确显示?

标签: pythonpython-3.xutf

解决方案


import unidecode

text = 'Obamaééé.mp4'
strip_text = unidecode.unidecode(text.decode('utf-8'))
print(strip_text)

[output] : Obamaeee.mp4

希望这对您有所帮助。


推荐阅读