目前最新的NextCloud 17文本编辑器中文乱码解决方法已出,有需要的可以自行跳转阅读。
为了方便日常办公,咸鱼剑在阿里云轻量主机上架设了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文本编辑器显示中文乱码的问题得到解决。
升级到NextCloud17之后,没有这个了files_texteditor,也就没有那个文件了
我已经解决了问题了,文章有更新,你可以去看看
的确是这样,我自己也升级到了17,整个结构都变了,目前我也在找解决方法,文件读了一部分,有事就没看了,先凑合着用吧。
晚啊