找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
楼主: leoshone

下载文件名乱码

[复制链接]

14

主题

84

回帖

735

积分

高级会员

积分
735
 楼主| 发表于 2020-12-27 00:14:16 | 显示全部楼层
Admin 发表于 2020-12-26 21:47
用浏览器的安全模式测试过吗?IDM是有可能造成此类问题

安全模式没问题。

删掉user data文件夹,刚开始的时候也没问题,然后登陆google同步后就又出问题了。
把扩展全部删掉,还是有问题
重置设置,还是有问题
重置flags,还是有问题

最后没办法,又重建配置。
登陆Google同步之前,不勾选同步“设置”,同步之后,没有问题!

也就是说有个隐藏的设置被同步到了本地,导致了乱码。而且这个设置不能被重置。

在网上到处找了解决办法,都是以前老版本在字体里面设置编码为GBK,但是v55之后没有了这个设置。
怀疑就是这个砍掉的设置,被隐藏了起来,然后同步到了新版的chrome/cent里面。



回复

使用道具 举报

9

主题

8024

回帖

2万

积分

超级版主

(^^ゞ

积分
22520
发表于 2020-12-27 13:23:59 | 显示全部楼层
leoshone 发表于 2020-12-27 00:14
安全模式没问题。

删掉user data文件夹,刚开始的时候也没问题,然后登陆google同步后就又出问题了。

也许你可以去 https://takeout.google.com/settings/takeout?hl=zh-CN 单独导出同步的设置项看看里面有没有编码的设置。
¯\(°_o)/¯
回复

使用道具 举报

14

主题

84

回帖

735

积分

高级会员

积分
735
 楼主| 发表于 2020-12-27 18:18:38 | 显示全部楼层
本帖最后由 leoshone 于 2020-12-27 19:05 编辑
S8F8ry 发表于 2020-12-27 13:23
也许你可以去 https://takeout.google.com/settings/takeout?hl=zh-CN 单独导出同步的设置项看看里面有没 ...

多谢。我把重建后的配置和以前有问题的配置导出来看了一下,编码确实不一样。

乱码的配置:
        {
            "name": "intl.charset_default",
            "value": "\"ISO-8859-1\""
},

正常的配置:
        {
            "name": "intl.charset_default",
            "value": "\"GBK\""
},


这个问题虽然解决了,但是浏览器也有一点小BUG,就是“重置设置”并没有把隐藏的设置重置掉。
就是说如果云端这个编码有问题,同步到本地之后,点击“重置设置”,并不会按照当前的语言来重置为正确的编码。
回复

使用道具 举报

9

主题

8024

回帖

2万

积分

超级版主

(^^ゞ

积分
22520
发表于 2020-12-27 19:32:40 | 显示全部楼层
本帖最后由 S8F8ry 于 2020-12-27 19:55 编辑
leoshone 发表于 2020-12-27 18:18
多谢。我把重建后的配置和以前有问题的配置导出来看了一下,编码确实不一样。

乱码的配置:

这就很尴尬了。

我查看了一下,我从服务器导出的 SyncSettings.json 里并没有 "charset_default" 的字段,甚至涉及到 "intl" 的只有下面这一段:
  1. {
  2.             "name": "intl.accept_languages",
  3.             "value": ""zh-CN,zh""
  4. },
复制代码

同时查看到本地 Preferences 和 Local State 文件的内容,同样相关只有下面这些内容:
Preferences:
  1. "intl":{"accept_languages":"zh-CN,zh"},
复制代码
Local State:
  1. "intl":{"app_locale":"zh-CN"},
复制代码





加之谷歌早就从浏览器设置中砍掉了字符编码设置功能,所以我也不确定 "intl.charset_default" 的存在是否正确且有效。
我觉得也许你可以这样试试:
  • 关闭浏览器,进入 User Data 中找到 Preferences 文件,先复制出来并再备份一份
  • 用文件编辑器打开复制出来的 Preferences,找到: "intl":{...},尝试修改成类似这样: "intl":{"accept_languages":"zh-CN,zh","charset_default":"UTF-8"} 并保存文件
  • 替换回原文件处,启动浏览器
  • 进入 chrome://settings/syncSetup/advanced 把之前你关掉的"设置"勾选回去
  • 使用一段时间浏览器,(PS: 或者直接进入 https://chrome.google.com/sync 点击清除数据试试),期间随便改些设置好在之后判断服务器里的设置是不是新上传
  • 最后进入 https://takeout.google.com/settings/takeout?hl=zh-CN 重新导出一份新的设置看那个值有没有变化吧

¯\(°_o)/¯
回复

使用道具 举报

14

主题

84

回帖

735

积分

高级会员

积分
735
 楼主| 发表于 2020-12-27 21:50:29 | 显示全部楼层
S8F8ry 发表于 2020-12-27 19:32
这就很尴尬了。

我查看了一下,我从服务器导出的 SyncSettings.json 里并没有 "charset_default ...

1. 关掉同步里的“设置”。(如果不先关掉,修改完Preferences文件中的charset_default,打开浏览器后,会被云端覆盖)
2. 把Preferences文件中charset_default改成ISO-8859-1。访问搜狗输入法皮肤网站,点击下载,乱码问题复现。

3. 打开同步里的“设置”,云端数据会覆盖本地,charset_default又变成了GBK(我上次重建后保存在云端的数据是GBK)
4. 乱码问题消失。

5. 清空云端数据。
6. 把本地Preferences文件中的charset_default改成“ISO-8859-1” 。(乱码问题重现)
7. 重新开启同步功能(包括同步“设置”),数据上传到云端。
8. 导出云端数据查看。上传上去的是ISO-8859-1。
{
            "name": "intl.charset_default",
            "value": "\"ISO-8859-1\""
},


9. 在Cent中“重置设置”。
10. 查看Preferences文件,里面还有"intl":{"charset_default":"ISO-8859-1"}。
也就是说,重置的时候intl下的accept_languages删掉了,但是charset_default没有删掉。而且会被上传到云端,也会同步到本地影响网页编码。

回复

使用道具 举报

14

主题

84

回帖

735

积分

高级会员

积分
735
 楼主| 发表于 2020-12-27 22:13:11 | 显示全部楼层
怎样解决?
1. 清空云端数据
2. 把Preferences文件里的charset_default改成GBK。
3. 再开启同步。

回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|百分浏览器论坛

GMT+8, 2025-5-6 23:46 , Processed in 0.017533 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表