问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

系统字体乱码是怎么形成的

发布网友 发布时间:2022-04-20 09:28

我来回答

1个回答

热心网友 时间:2022-07-12 05:56

真的很正常,linux下经常出现乱码问题,这个跟编辑器的编码有关,至于wps,,你进wps的官方论坛,他们说这个问题很多次:一下是官方的说明:看涛哥讲故事讲的起兴,正好周末,我也上来讲讲故事哈。随便挑了个主题,就讲“无尽混乱的编码吧”。我想只要是玩linux的人,多多少少都遇到过乱码的问题吧,否则还真不能叫linux党。wps运行时用的是什么编码?wps运行时采用的是utf16编码,我相信在windows这是很多程序的选择。但是坑爹的gcc竟然,它竟然只支持utf32编码?????gcc的wchar_t竟然是4字节的,4字节的!!!!幸亏那个坑爹的c++0x新标准被我们赶上了,支持了所谓u"str"和U"str"新格式。u就是utf16,U就是utf32。so,我们只能选用了gcc4.5作为我们的编译器,并且编写了一个宏__X(str),在windows为L #str,linux下为u #str。 (这也是很多朋友抱怨libstdc++版本过高的罪恶根源)然后我们把工程里所有的L"xxx"改为了__X("xxx"),把工程里的所有wchar_t改为WCHAR// 囧,改的我们手脚发麻啊。但是好景不长,没过两天就让我们知道,c++标准委员会绝对不是吃素的。这帮天煞的家伙不把c++搞的*就不爽。strcmp是单字节的,wcscmp是4字节的,那两字节的是啥?????没有!上帝啊: c++0x是的,c++0x不是c0x。。。。。so,char16_t是没有c库支持的。这叫神马utf16支持啊。一不做二不休,我们再把所有的字符串c标函数又实现了一遍,于是乎有了xstrcmp,xstricmp,xstrncmp....。然后继续改到手发麻。。。。但是c艹还是觉得我们太悠闲了,so,下一句台词是: c++0x不是c0x,也不是c++。。。。是的,我们目前发现char16_t除了std::basic_string<char16_t>能链接通过以外没有发现系统库例子。连正则表达式都不能用,// 朋友你想用?不好意思,我们还没实现,你再等等吧。。。。。。。。。我感觉我们只剩下半管血了。c++标准委员会还是觉得意犹未尽啊。在不和c兼容 & 半成品实现上, c++0x下一个坑我们的是char16_t,这个类型本身。对,他是一个类型,不是typedef unsigned short chart16_t。so,工程里充斥满了QString::fromUtf16((WCHAR *)__X("what a bad day!!!"));到最后我们终于受不了了,把__X的定义改成了 ((unsigned short *)(u #str))。then....__X('x') 和 __X("adsf") __X("asdf") 和 WCHAR str[] = __X("asdf") 都顺利歇菜了。阿门然后我们血条红了。。。wps的源代码用的是什么编码?这个不用想都知道,wps是从vc6年代过来的工程,vc6又不支持utf8,当然是ansi编码(GBK)的了。移植到linux的时候,没多久我们就碰到了编码问题。主要是2种情况。1 gcc按照utf-8编码解释gbk文件,导致\n回车被吞。这个时候一旦使用\\形式的备注,编译就悲剧了。(/**/形式只要在*/前加入足量的空格就没问题)2 字符串中本身存在非ascii字符。这种情况虽然不多,却是更加棘手。于是在linux分支上,我们就将一部分文件转为了utf8。但这是做了几天后我们就发现不对劲了。去vc上做了个实验,果然vc罢工了。最后我们根据实验结果得出以下结论: vc支持ansi、utf8+bom、utf16+bom,gcc支持utf8、utf8+bom于是我们经过商议后,得出结论: 把所有工作代码转为utf8+bom,以适应将来跨平台步骤如下:1 编写svn钩子,以进行强制编码检查2 将主干转为utf8+bom3 改写svn客户端,使得支持跨编码代码合并4 所有的分支和主干合并后,重新拉取分支后变为utf8分支。于是乎我很happy的将主干转为了utf8+bom,结果,结果编不过去了。~_~然后才发现,天煞的windows资源编译器只支持ansi、utf16+bom我勒个去啊,一交集,发现没答案了。幸亏那部分文件,没包含非中文不行的字符,俺直接给那部分文件中文备注全给删除了,改成了英文备注,OK,过了看了这个计划,大家就知道最头大的在3和4两个步骤。其他分支还好,文件编码基本都是ansi的,合并的时候基本没压力。linux分支的文件有很多都是utf8没bom的。然后俺又做了搓事啊,悲剧svn客户端没改好,编码猜测部分代码除了BUG。然后。。。。。然后俺就拉着一帮小弟,人肉fixup啊。。。。。。。。。。追问嘿嘿 太专业了 看不懂 我的电脑的乱码是出现在 钟表哪里还有就是出现在开始菜单的边框哪里 电源哪里的关机的字全是乱码 不过电脑重启一次就好了 到晚上就又这样了 这是为什么呀

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
注册保险代理有限公司需要什么资料! 现在什么云手机性价比高一点? 50个可接双宾语的动词 为琵琶独奏曲《春江花月夜》配一首词或诗 我经常看到HI语音里会有什么魅力榜、贡献榜这些排名,我也一直在语音直播... 跨行通怎么激活 父母是农民不知道有没有纳税 普通农民可以算纳税人吗? 农民不交农业税了,是不是纳税人? 小红书上女生缺衣服穿的心情说说四十句 求口袋妖怪漆黑的魅影5.0EX无尽混沌的所有金手指代... 混乱武林无尽模式总共有多少关 缺少字体文件,系统不能正常运行,是怎么回事 可以下载漆黑魅影无尽混乱的应用宝下载 口袋妖怪漆黑的魅影5.0无尽混沌原始代码,是哪个啊? 口袋妖怪无尽混乱解压包怎样解压 请问你有口袋妖怪漆黑的魅影5.0无尽混乱的金手指吗... 口袋妖怪漆黑的魅影5.0无尽混乱的笨笨鱼怎么钓啊 江中轻享生活是不是三无产品? 北汽蓝谷 股吧 杭州轻享生物科技有限公司怎么样? 上海轻享互联网科技有限公司怎么样? 山东轻享网络科技有限公司怎么样? 江西轻享网络科技有限公司怎么样? 支付宝如何攒芝麻粒? 北京轻享科技有限公司西安分公司怎么样? 杭州轻享互联网科技有限公司怎么样? 广州轻享互联网科技有限公司怎么样? 北京轻享科技有限公司三亚分公司怎么样? 北京轻享科技有限公司天津分公司怎么样? 无尽战区混乱骑士菲丽丝什么时候可买 “美而不自知”是什么体验? 口袋妖怪漆黑的魅影5.0ex无尽混沌修正版金手指 循环英雄反击是什么意思 求口袋妖怪漆黑的魅影5.0EX无尽的混沌作弊码全部,... 口袋妖怪漆黑的魅影5.0ex无尽混沌小鸡模拟器作弊码... 植物大战僵尸几种无尽模式怎么开启啊 我现在只有无... 为什么看有的植物大战僵尸有各种模式的无尽,我的... 哪个网站可以找到Mr.children所有歌的中文歌词啊? 植物大战僵尸生存模式无尽版怎么换别的地图 急需马... 为何最终新媒体会做成传统媒体? 新媒体变现有什么方法? 到底什么是新媒体 新媒体变现的方式有哪些 什么是新媒体? 你认为新媒体在未来几年最好的变现模式是什么? 新媒体发展的趋势是什么? 什么叫新媒体 新媒体是什么? 传统媒体如何在新媒体时代实现转型