美文网首页
修改 Chrome 自定义搜索编码

修改 Chrome 自定义搜索编码

作者: 死宅程序员 | 来源:发表于2017-09-06 16:47 被阅读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 编码下,"百度贴吧"会展示为"鐧惧害璐村惂"

    • 设置命令行展示编码为 utf-8

    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'; "

    背景资料

    操作前的环境

    • 设置了名为“百度贴吧”的搜索,关键字为“tb”,链接为http://tieba.baidu.com/f?kw=%s

    • 搜索的内容存储在%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data 推断文件中的keywords表里,keywords_backup 为备份表。

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

    常用操作语句

    • 修改keywords和keywords_backup中关键字为“tb”的记录的编码为GBK,并查看修改结果:

    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'; "

    • 查看当前关键字为“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操作

    注: 未见异常。

    历史参考

    相关文章

      网友评论

          本文标题:修改 Chrome 自定义搜索编码

          本文链接:https://www.haomeiwen.com/subject/vpdvjxtx.html