修改 Chrome 自定义搜索编码

2017-09-06  本文已影响81人  死宅程序员

自定义搜索的配置存储文件

"%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"

keywords 表结构(Chrome v60 / 2017.09.04)

CREATE TABLE "keywords"
  (
     id                           INTEGER PRIMARY KEY,
     short_name                   VARCHAR NOT NULL, -- 名称
     keyword                      VARCHAR NOT NULL, -- 关键字
     favicon_url                  VARCHAR NOT NULL,
     url                          VARCHAR NOT NULL, -- 链接
     safe_for_autoreplace         INTEGER,
     originating_url              VARCHAR,
     date_created                 INTEGER DEFAULT 0,
     usage_count                  INTEGER DEFAULT 0,
     input_encodings              VARCHAR, -- 编码类型
     suggest_url                  VARCHAR,
     prepopulate_id               INTEGER DEFAULT 0,
     created_by_policy            INTEGER DEFAULT 0,
     instant_url                  VARCHAR,
     last_modified                INTEGER DEFAULT 0, -- 最后一次修改时间
     sync_guid                    VARCHAR,
     alternate_urls               VARCHAR,
     search_terms_replacement_key VARCHAR,
     image_url                    VARCHAR,
     search_url_post_params       VARCHAR,
     suggest_url_post_params      VARCHAR,
     instant_url_post_params      VARCHAR,
     image_url_post_params        VARCHAR,
     new_tab_url                  VARCHAR,
     last_visited                 INTEGER DEFAULT 0
  );

常用查询字段

select
  id,
  short_name,
  keyword,
  input_encodings,
  last_modified
from keywords;

查看百科(bk)的自定义搜索配置

  select
    id,
    short_name,
    keyword,
    input_encodings,
    last_modified
  from keywords
  where keyword = 'bk';

更新百科(bk)编码

更新后 last_modified 增加,为了 chrome 能接收更改,同步服务端

update keywords
set input_encodings = 'UTF-8', last_modified = last_modified + 1
where keyword='bk';

命令行编码

cmd 在 gbk chcp 936 编码下,"百度贴吧"会展示为"鐧惧害璐村惂"

chcp 65001


以上 2017.9 更新

前言

这个文档从整理到今日发布跨度有一年了,至少在最后一次更新时还是有效的。之所以有了最后一次更新项,是因为chrome的搜索设置经历了从无法同步到同步的转变,同步的时间就是那个字段last_modified,类似于一个版本控制的标识。

--update 2013.03.26

我将百度词典的搜索别名定为:di,但发现编码变成utf8了,但chrome不支持,我就通过如下方法手动修改:
update keywords set input_encodings = 'utf8' , last_modified = last_modified +1 where keyword='di';

---老资料update2010.5.4---

视频教程

集成gb2312

sqlite "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data" "update keywords set input_encodings = 'gb2312' where keyword='tb';
update keywords_backup set input_encodings = 'gb2312' where keyword='tb';
select * from keywords where keyword='tb';
select * from keywords_backup where keyword='tb'; "

背景资料

操作前的环境

对应字段 注释
short_name 名称
keyword 关键字
url 链接
input_encodings 编码类型
last_modified 最后一次修改时间

常用操作语句

sqlite "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data" "update keywords set input_encodings = 'gbk' where keyword='tb'; update keywords_backup set input_encodings = 'gbk' where keyword='tb'; select id,short_name,keyword,input_encodings,last_modified from keywords where keyword='tb'; select id,short_name,keyword,input_encodings,last_modified from keywords_backup where keyword='tb'; "

sqlite "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data" "update keywords set input_encodings = 'GB2312' , last_modified = last_modified +1 where keyword='tb'; update keywords_backup set input_encodings = 'GB2312' , last_modified = last_modified +1 where keyword='tb'; select id,short_name,keyword,input_encodings,last_modified from keywords where keyword='tb'; select id,short_name,keyword,input_encodings,last_modified from keywords_backup where keyword='tb'; "

sqlite "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data" "select id,short_name,keyword,input_encodings,last_modified from keywords where keyword='tb'; select id,short_name,keyword,input_encodings,last_modified from keywords_backup where keyword='tb'; "

echo ".output sql.txt" && echo ".schema > sql.txt" | sqlite "web data"

测试流程

  1. 关闭Chrome,查看当前状态:

40|百度贴吧|tb||http://tieba.baidu.com/f?kw={searchTerms}|0|0||1330616134|0|||0|0|0|0||1330616134|7DA70CB3-119B-482B-8A87-1799E90FACBC
40|百度贴吧|tb||http://tieba.baidu.com/f?kw={searchTerms}|0||1330616134|0||0||0|0|0|0||1330616134|7DA70CB3-119B-482B-8A87-1799E90FACBC

  1. 关闭同步,通过chrome修改short_name(百度贴吧->百度贴吧1),关闭Chrome,查看状态:

40|百度贴吧1|tb||http://tieba.baidu.com/f?kw={searchTerms}|0|0||1330616134|0|||0|0|0|0||1330776225|7DA70CB3-119B-482B-8A87-1799E90FACBC
40|百度贴吧1|tb||http://tieba.baidu.com/f?kw={searchTerms}|0||1330616134|0||0||0|0|0|0||1330776225|7DA70CB3-119B-482B-8A87-1799E90FACBC

注: 两者状态中short_name与last_modified字段有变化。

  1. 开启同步,多次测试tb,一切正常。重启chrome,多次测试,未见异常。

注: 修改后的状态被认可,同步成功。

  1. 关闭Chrome,通过手工修改short_name(百度贴吧1->百度贴吧),查看状态:

sqlite "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data" "update keywords set short_name = '百度贴吧' where keyword='tb'; update keywords_backup set short_name = '百度贴吧' where keyword='tb'; select * from keywords where keyword='tb'; select * from keywords_backup where keyword='tb'; "

40|百度贴吧|tb||http://tieba.baidu.com/f?kw={searchTerms}|0|0||1330616134|7|gbk||0|0|0|0||1330776225|7DA70CB3-119B-482B-8A87-1799E90FACBC
40|百度贴吧|tb||http://tieba.baidu.com/f?kw={searchTerms}|0||1330616134|7|gbk|0||0|0|0|0||1330776225|7DA70CB3-119B-482B-8A87-1799E90FACBC
  1. 启动Chrome,稍等片刻(等待同步执行),地址栏输入tb+空格测试搜索名称显示。

注: 显示乱码

  1. 修改4的short_name,再次执行:

sqlite "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data" "update keywords set short_name = '鐧惧害璐村惂' where keyword='tb'; update keywords_backup set short_name = '鐧惧害璐村惂' where keyword='tb'; select * from keywords where keyword='tb'; select * from keywords_backup where keyword='tb'; "

注: “鐧惧害璐村惂” 为 手工修改前从命令行复制下的“百度贴吧”的另一种编码形态。

  1. 重复5操作

注: 未见异常。

历史参考

上一篇下一篇

猜你喜欢

热点阅读