NextCloud在线文本编辑器显示中文乱码的解决方法

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

-END-
最后修改:2019 年 09 月 06 日 10 : 22 AM
如果觉得我的文章对你有用,请随意赞赏

2 条评论

  1. 松鼠大大

    早啊

    1. 陈·锋
      @松鼠大大

      晚啊

发表评论