为了方便日常办公,咸鱼剑在阿里云轻量主机上架设了NextCloud 16网盘系统,日常需要跨设备使用的文件软件都存在里面,感觉还是非常舒服的。
  随着使用的时间越来越长,NextCloud 16网盘系统的一些不足之处也对咸鱼剑造成了困扰。首当其冲的就是文本编辑器显示TXT文本内容时,中文会出现乱码的情况。
  为此,咸鱼剑特地查了一些资料,从资料中得知出现这种情况是因为TXT文本的文本编码和文本编辑器使用的编码不同。我们在使用编辑器保存TXT文本时,默认使用的是ANSI、GB2312或者GBK编码,而NextCloud 16的文本编辑器默认使用的是UTF-8编码。页面在显示文档内容时因为缺少了中文编码的支持,所以出现了乱码的情况,影响了我们的正常使用。庆幸的是,这个问题是可以通过修改文本编辑器的配置文件解决。
NextCloud 16网站根目录/apps/files_texteditor/lib/Controller找到FileHandlingController.php并打开,在101行附近可以找到以下代码:

$encoding = mb_detect_encoding($fileContents . 'a', 'UTF-8, WINDOWS-1252, ISO-8859-15, ISO-8859-1, ASCII', true);

  这段代码的作用就是配置NextCloud 16文本编辑器的编码类型,可以看到文本编辑器使用的是UTF-8、WINDOWS-1512、ISO-8859-15、ISO-8859-1,ASCII这几种编码,而这几种编码对中文都是极度不友好的...想要正常显示中文文本,我们要做的就是将支持中文的编码类型写入这行配置中,咸鱼剑在这里贴上自己修改的配置代码供大家参考:

$encoding= mb_detect_encoding($fileContents. 'a', 'UTF-8, GB2312, GBK, WINDOWS-1252, ISO-8859-15, ISO-8859-1, ASCII', true);

  修改完成后保存配置文件,再强制刷新一下NextCloud 16的页面,打开TXT文本时,你会发现文本中的中文已经可以正常显示了。
  至此,NextCloud 16文本编辑器显示中文乱码的问题得到解决。

-THE END-
最后修改:2020 年 02 月 09 日 12 : 38 AM
如果觉得我的文章对你有用,请随意赞赏