相当于在终端里使用 Emacs,一直以来终端里的 Emacs 显示中文都是正常的。只是换到 GUI 版下,中文显示就不正常。之前陈斌提过这个问题,他说他一直没有意识到 Emacs 的中文显示问题,因为他一直是在终端下使用 Emacs 的。
感觉termux里的emacs很给力啊,除了手机触摸键盘不好用,但文本复制粘贴可以不使用键盘,不使用快捷键,像手机上编辑短信一样手指长按选择,用两根手指放大缩小emacs也很顺滑,这并不是放大缩小字体,以至于我完全没有在使用终端的感觉。应该是因为windows下终端里的emacs太难用了
终端在显示中文英文的时候做过处理保证对齐,代价是中文字体左右两边会有间隔
Android 的终端,应该就是 Linux 的终端了吧……果然 Emacs 还是在 Linux 下才好用……其它系统的兼容性太差
我在手机上输出(message "%s"system-type)
看了,在termux里显示的就是gnu/linux
,感觉android也可以算是一个linux发行版了(一个不提供root还禁止用户自己root的发行版)
Google 原生应该是可以 Root 的,但国内手机厂商的大多不给 Root
我还是比较好奇你现在的这种 org 的使用方式怎么样了,已经可以发点配置和代码来看看了么?
现在也可以用,但还有不少问题也没有时间精力去解决…
我直接发代码出来因为有些混乱大多数人也看不懂怎么用,等我过几天有空把相关内容整理做个总结,写个使用说明出来
按原计划做成 在线网站 发布,然而难度超出预期,短期内估计完不成,还有很多bug,目前emacs端代码已发布到 github,欢迎来参观
这里服务器端不应该用ip,应该用域名的,然后我的 域名出了问题 还没解决,只能先用ip
前两天发现我的org-mode里的链接多出了删除线(如上图),奇怪是那里弄出来的,emacs -q试了还是如此,继续排查找出了原因,但我也不清楚这是bug呢,还是就是怎么设计的,先记录下来,也许有人也会遇到这个问题。
起因是标题那里我随手乱写,按出了"---- ----",然后生成链接时会把标题作url编码,url里的空格会编码成+号,生成的链接是这样的:[[elisp:(orgcms-load "http://localhost/org?api=save-post&title=----+----&a=notice&from=dev" 1)][保存修改]] [[elisp:(orgcms-load "http://localhost/org?api=del&title=----+----&a=notice&from=dev" 1)][删除(不能恢复)]]
按照org-mode的规则两个+号之间的内容会显示下划线,所以下划线就出现了,但以前链接里也有空格转码成的+号,就没出现,所以链接里的+号还要和-号配合才会出现下划线。
我把标题名换了一下不要在两个-的中间加空格,这个下划线就没有了
今天发现只要笔记中有emoji符号如“”保存就失败,而mysql数据库编码类型设置了urf8mb4,直接执行sql语句也没有问题,在org-mode中就不行.
问chatGPT说:PHP处理结果字符集未设置为utf8mb4,加上“$pdo->exec(“SET NAMES utf8mb4”);”后果然没问题了。
因为我sqlite和mysql同时在使用,用相近的表结构,相同的api,sqlite从不设置字符集编码类型,也不设PHP处理结果字符集编码类型,就可以正常记录显示emoji符号,就以为mysql也不需要。
chatGPT确实节省了我很多时间,否则我不可能那么快修复这个问题
建议换 PostgreSQL
如果将来这个项目的服务器端也开源发布,会考虑换PostgreSQL
的,现在只是自用感觉没动力换,其实mysql我还在用多年前的老版本5.7,好多年没更新过了
确实应该换一个,最近才知道utf8mb4这个是mysql专属,因为mysql的utf8并不是真的utf8,utf8变长存储格式是1-4个字节,而mysql的utf8是三个字节,所以很多字符表示不了,于是又出了个utf8mb4饶过这个问题(而不是修复这个问题),而其它数据库的utf8是真的utf8,可显示全部unicode字符
比较好奇,现在这个能显示图片吗?
不能, 数据库只存储纯文本, 如果在保存org文件时把org文件里引用的图片文件也存一份到数据库,这就真把org-mode变成了一个web富文本编辑器了, 理论上可行,但我应该是搞不定这件事