普通视图

发现新文章,点击刷新页面。
昨天以前半日闲

MySQL中的utf8和utf8mb4

作者 小A
2024年8月30日 15:29

起因

评论中增加了Emoji表情,结果写入的时候报错了,找了半天原因,原来是数据库utf8utf8mb4的区别问题。

区别

  • utf8:通常指的是 utf8(也称为 utf8_general_ciutf8_bin),它支持标准的 Unicode 字符,但不支持四个字节的字符(如 Emoji、某些表情符号和其他复杂字符)。
  • utf8mb4:这是一种扩展的 UTF-8 编码,它可以支持所有 Unicode 字符,包括四个字节的字符(如 Emoji)。

Typecho配置

config.inc.php中数据库参数的配置中有charset的配置,可以配置为utf8utf8mb4

代码判断

在不关心具体数据库的判断中可以直接通过配置中的charset判断是否为utf8mb4

$db = Typecho_Db::get();
$dbconfig = $db->getConfig(Typecho_Db::WRITE);
if($dbconfig['charset'] === 'utf8mb4') {
   return true;
}
return false;

建议

不管是否存储Emoji,建议还是使用utf8mb4编码。

  •  

图片上的坐标格式

作者 小A
2024年8月28日 12:07

有些照片拍摄出来后上面带有坐标,但是坐标格式是有很多种的,以下是常见的几种和解析方法。

47.14.1885N 102.11.20801E

这样的坐标表示北纬47度14.1885分,东经88度11.20801分,转换成小数度方式如下:
47 + 14.18851 / 60 = 47.236475
102 + 11.20801 / 60 = 102.186800

经度 104.6015°E 纬度 45.3621°N

这样的坐标就写的很清楚,东经104.6015度 北纬45.3621,直接为小数度单位。

43°46'46"N 110°10'34"E

这样的坐标标明了度分秒的具体单位, 北纬43度46分46秒,东经110度10分34秒,转换成小数度方式如下:
43 + 46 / 60 + 46 / 3600 = 43.7795
110+ 10 / 60 + 34 / 3600 = 110.1761

  •  

懒人更新

作者 小A
2024年8月28日 10:10

我是那种很懒的人,主题的更新也是这样,明明知道有优化的空间,懒得更新,够用就行(明明是谁)。
总得让人打一棒子(反馈问题)才去改下,不以任何借口(工作忙),就是懒。
今天更新到了1.4.5,总算不用等半天才刷新显示icons图标了,感谢反馈问题的人。

  •  

换主题乌龙

作者 小A
2024年8月2日 10:54

换成自己的主题后,结果一条评论都没有了,原来主题里的评论验证代码我去掉了,但是插件里的评论验证还在,这就造成了明明没有验证,但提交评论一直提示验证不通过。

  •  

Elasticsearch索引

作者 小A
2024年7月29日 14:33

Elasticsearch索引相当于mysql中的一个库,7.0以前一个索引可以有多个表,在7.0以后就只能一个表。

提示

索引名称不能有大写字母。

创建索引

使用REST PUT命令直接创建索引,有以下几种方式(以创建索引poi为例):

  • 创建索引,不指定分片和副本信息

    PUT /poi
  • 创建索引并指定分片和副本信息

    PUT /poi
    {
    "settings": {
    "index":{
       "number_of_shards":3,
       "number_of_replicas":0
      }
    }
    }

    说明

    number_of_shards:分片数量
    number_of_replicas:副本数量
  • 创建索引并指定分词器

    PUT /poi
    {
    "settings": {
      "index":{
        "number_of_shards":3,
        "number_of_replicas":0
      }
    },
    "analysis":{   
        "analyzer":{
           "ik":{
               "tokenizer":"ik_max_word"
            }
        }
     }
    }

查看索引

查看所有索引

GET /_cat/indices/*?v&s=index

查看具体的索引信息

GET /poi

查看具体的索引配置

GET /poi/_settings

查看所有索引配置

GET /_all/_settings

删除索引

DELETE /poi
  •  

XaInk主题更新到1.4.4

作者 小A
2024年7月15日 10:37

XaInk这主题自己练手的作品,一直也是自己发现问题,然后自己更新优化,目前也只有自己在用,虽然开源了,也没有怎么管。

前几天突然收到邮件,有网友提交issue发现一些问题和bug,今天就抽空更新了问题并提交升级到1.4.4

感谢网友在使用我写的东西和及时提出的问题。

  •  

在 Chrome 浏览器里如何拿到用户最真实的 CPU 和其他硬件信息

作者 小A
2024年7月10日 15:16

Chromium 内置了一个系统级插件,在不走 UA 的情况下获取硬件信息。
这个插件允许 *.google.com 网站获取宿主机 CPU 信息。
Chromium 源码里找找,发现插件 ID 是:nkeimhogjdpnpccoofpliimaahmaaome
而且,这个插件还能对外通信。

操作

我们可以随便打开一个 Google 的网站在 console 里面输入:

chrome.runtime.sendMessage('nkeimhogjdpnpccoofpliimaahmaaome',
{method: 'cpu.getInfo'},
response => console.table(response));

特别说明,只有 *.google.com 能获取到。

  •  
❌
❌