分类 生活 下的文章

其实我觊觎这几朵蒲公英已经好几天了。我发现,每天中午太阳出来、温度暖和的时候,它们就会开得正艳。而早晨温度偏低的时候它就是含苞待放,之前我也尝试用手机拍过,但放到电脑上看效果有点不佳。相机包里原本装着28mm镜头,但拍出来的效果也不理想,于是最终还是换上了70-200mm镜头。

对这个镜头,我真是又爱又恨——它的焦段拍花花草草确实非常出色,但同时又太重、太显眼,说实话我并不太愿意把它掏出来。不过它一直躺在相机包里,所以真想拍点什么的时候,确实非常方便。

玉兰花是公司的,在上班的时候车停在路旁拍的玉兰花,其实有点太匆忙了。

图片处理流程

今天,我又把图片发布的流程优化了一下。我将上次采用的图片格式改成了WebP格式,具体流程如下:

  1. 上传照片到R2存储时,先将其压缩成WebP格式;
  2. 再将处理后的图片上传到R2存储桶;
  3. 最后删除本地的临时文件。

[jpg]
阳光下盛开的蒲公英特写

蒲公英细节展示,绒毛清晰可见

逆光下的蒲公英,轮廓光效果

多朵蒲公英组合构图

蒲公英与绿色背景的对比
[/jpg]


数据库字符集错误分析与解决报告

问题描述

在上一次测试日志发布文章后,系统出现数据库查询错误。

错误信息

Database Query Error
开启 Debug 模式后出现:
SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x93\x9D \xE6...' for column 'text' at row 1

错误堆栈

Typecho\Db\Adapter\SQLException: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x93\x9D \xE6...' for column 'text' at row 1 in /www/wwwroot/lag.la/var/Typecho/Db/Adapter/Pdo.php:111
Stack trace:
#0 /www/wwwroot/lag.la/var/Typecho/Db.php(394): Typecho\Db\Adapter\Pdo->query()
#1 /www/wwwroot/lag.la/var/Widget/Base/Contents.php(158): Typecho\Db->query()
#2 /www/wwwroot/lag.la/var/Widget/Contents/EditTrait.php(602): Widget\Base\Contents->insert()
#3 /www/wwwroot/lag.la/var/Widget/Contents/Post/Edit.php(71): Widget\Contents\Post\Edit->publish()
#4 /www/wwwroot/lag.la/var/Widget/Contents/Post/Edit.php(358): Widget\Contents\Post\Edit->writePost()
#5 /www/wwwroot/lag.la/var/Widget/Action.php(71): Widget\Contents\Post\Edit->action()
#6 /www/wwwroot/lag.la/var/Typecho/Widget.php(155): Widget\Action->execute()
#7 /www/wwwroot/lag.la/var/Typecho/Router.php(85): Typecho\Widget::widget()
#8 /www/wwwroot/lag.la/index.php(23): Typecho\Router::dispatch()
#9 {main}

问题分析

错误原因识别

通过AI查询分析,报错中的 \xF0\x9F\x93\x9D 对应的是摘要开头的表情符号 📝。

根本原因

MySQL数据库(或text字段)当前使用的是 utf8 字符集。在MySQL中:

  • utf8 字符集只能存储最多3个字节的字符
  • Emoji表情属于4字节字符(UTF-8编码)
  • 当尝试存储4字节字符时,会导致写入失败

解决方案

实施步骤

  1. 字符集升级:将数据库编码从 utf8 升级为 utf8mb4
  2. 转换操作:执行所有相关数据库表的字符集转换

实施结果

完成数据库格式转换后,系统测试正常。

验证结果

![数据库转换成功验证截图]

图:数据库转换后的正常运行状态


文档状态:已解决
影响范围:数据库写入操作
解决时间:2026年1月30日
技术环境:Typecho + MySQL


插件功能说明

概述

本插件目前已基本可用,旨在简化图片上传与管理流程。插件最初为 Unsplash 集成而设计,后扩展支持 Cloudflare R2 作为图床解决方案。

设计背景与演进

Unsplash 集成初衷

插件最初设计用于将 Unsplash 的摄影作品便捷插入博客系统。通过 Unsplash API 实现高质量图片的快速调用。

功能扩展与限制

发现 Unsplash 不适合作为常规图床使用,其定位更多是提供大分辨率摄影作品。因此开发方向调整为:

  1. 支持自定义图床解决方案
  2. 保留 Unsplash 图片集成的核心功能

Cloudflare R2 图床集成

核心功能

  • 图片存储:集成 Cloudflare R2 作为对象存储服务
  • CDN 加速:通过 Cloudflare CDN 实现全球加速
  • 智能缓存:自动管理图片缓存策略
  • 便捷删除:在插件界面直接管理已上传图片

技术特性

  • 支持多种图片格式
  • 保持原始图片质量
  • 自动生成缩略图
  • 响应式图片适配

用户界面展示

主界面

上传界面
界面针对移动端优化,支持各种屏幕尺寸

图片预览

预览功能
提供直观的图片预览体验

搜索功能

搜索界面
支持关键词快速定位图片

兼容性说明

  • 桌面端:完全支持
  • 移动端:针对小屏幕设备优化
  • 浏览器:兼容主流现代浏览器

可以把平时拍的存在unsplash的照片添加到博客了。

这个插件是纯AI做出来的然后慢点优化一起花了好几个小时。

期初是用的typecho的博客主题因为更新typecho到1.3后会有点错乱。但是更新主题我又需要里面的

unsplash的相册也就没有更新。现在似乎只解决了从unsplash插入到文章的问题。

目前还需要一个另外的功能那就是相册效果,因为在默认主题上面图片没有任何效果还得去找一下。

如果不行那就AI继续搓。

另外完美支持手机端

阅读全文


最近不知道是流感偷袭,还是抽烟的报应,我开始有点咳嗽。咳得不算厉害,但每次都有“附赠品”——痰,真是买一送一,诚意满满。

更惨的是,上次在家整理被子,不小心把鼻炎的老朋友也给请回来了。现在整体状态就是经典感冒套餐:咳嗽我还能忍,但鼻子堵到怀疑人生,简直是想让我用意念呼吸!

以前我一直靠洗鼻器续命,结果上次在家一按——没反应?行吧,我也懒得修,直接扔一边。这次上夜班,不知哪来的灵感,把它带到了公司。晚上闲着也是闲着,就把它大卸八块。结果你猜怎么着?哪儿都没坏!就是一个装电池的地方氧化了,长了层“老年斑”,导致接触不良。其他地方啥事没有,我就把那氧化层打磨了一下,原样装回去它又活了!

不过这个洗鼻器还有个祖传毛病,就是装盐水的储水罐特别喜欢漏水。之前找售后换过一次,新的没用多久又“泪流满面”。算了,通病,治不好,我也懒得再换。

这会上夜班有时间,于是我决定自己动手,丰衣足食。直接把储水罐底板拆了,用100目的砂纸把两边打磨平,然后祭出我的神器——铸工胶!一顿操作猛如虎,粘上去试了试,效果居然不错,只有一丢丢渗水。我这强迫症能忍?不行,再给它糊上一层加固!这下应该能一劳永逸了吧?