“embedded null type”报错的迷惑解法

在某些版本的Windows系统(比如Windows 8.1)上,执行读取带有中文字符的配置文件的python代码时,有可能会遇到这个报错

Text Only
Failed to execute script due to unhandled exception: embedded null type

曾经一开始遇到这个报错的时候没有任何头绪,只是无意间发现将配置文件中包含中文字符全部替换成英文就没有问题,但由于配置文件是需要客户自己配置的,总不能让他们去看一大堆英文吧?即使现在遇到这个报错,你去Google上搜索答案,也很难找到一个更好的解法,不少关注度比较高的帖子都会提及语言编码问题等。

那么这个问题怎么解决呢?无意间发现安装了 Windows8.1-KB3118401-x64 并重启系统后就可以解决这个问题了。

目前测试发现以上遇到的问题只在极个别系统中会出现,至少Windows 10及以上的系统中并没有出现该问题

迷惑的现象

以上我提到在Windows 8.1上会出现这个问题,但在某些情况下,比如在Windows 8.1 x64上运行32位版本的程序,反而没有出现这个问题,只有64位程序会出现,实在理解不了这是为什么