Minggang Li

Results 120 comments of Minggang Li

Reproduced with sample.xpm which was from wxWidgets with the code below m_ImageList = new wxImageList(32, 32); m_ImageList->Add(wxBitmap(sample_xpm)); item->SetBitmap(m_ImageList->GetBitmap(0)); helpMenu->Append(item); ![image](https://user-images.githubusercontent.com/4847132/181513472-fda490a9-c2e6-43a2-96fc-6bba7e30d6da.png)

这个真没注意到,你的信息准确吗?madedit的编码识别是来自与Firefox的编码识别那部分代码。我后面曾经跟firefox比较和同步过,没发现有大的改动。也就是说0.2.6跟后面的没太大改动,如果你有列子能复现这个问题最好,否则也不好说是哪里出了问题。

额,看来有可能是我做检测代码的单例化引入的问题

目前工作确实比较忙,但这个问题的难点是如何验证,如果你能找到几个可以复现出问题的文件就能很快修复。不然也都是漫无目的的瞎蒙。

我好像搞混了,我是把语法高亮给单例化了,这个encoding好像没动。所以这个就奇怪了

我检查了代码,有如下发现: 我放宽了UTF8部分的检查,实际应该是原来madedit的bug,原因在这里 //Extra check from http://codeblocks.sourcearchive.com/documentation/8.02-0ubuntu4/encodingdetector_8cpp-source.html

所以需要你提供能复现你说的问题的文件我来查。

@KrasnayaPloshchad 你遇到同样的问题?如果可能,就提供一个能复现这个问题的文件 ![image](https://user-images.githubusercontent.com/4847132/113477288-63d6a400-94b3-11eb-88e4-39ce8e381301.png)

@KrasnayaPloshchad 这两个文件编码检测确实错了。但是,这个不是程序的bug,而且也没法解决。这两个文件是因为在最前面有很大一部分没有出现任何非ASCII的UTF8字符。 目前MadEdit-Mod(或者说是原来的madedit一直都是)只检测文件的前4K字符来判断文件编码。所以如果前4K字节的内容如果没有出现标志性字符,结果很可能是不对的。即使放松到8K字节,甚至1M,也不能彻底解决问题,如果检测字符太多,会使得打开文件变得很慢,这个是很差的用户体验。 你可以试试把你提到的上面的两个文件的前面部分删掉,直到有韩文或者其他文字的部分,重新命名一个文件,再打开试试。