这里说的 emoji 是文字形式的表情,如 😆。它不是图片,而是一个文字,只不过显示出来是个表情的样式。
之前本博客的评论框下面有个“添加颜文字”的功能,但是颜文字的实用性不太好,我经常都找不到合适的颜文字。而且作为“表情”来说,颜文字看起来也不太直观,于是我想将其换成 emoji 表情。
代码改起来倒是很简单,但是出现了预料之外的问题:在评论里添加 emoji 并提交评论之后,发出来的评论里并没有显示 emoji 表情。
WordPress 的评论里不显示 emoji 表情怎么解决
本站长期以来把新注册用户的角色设置为“贡献者”,这样他们可以提交投稿。结果天天都会收到一些垃圾投稿。
翻看了一些投稿之后,我大开眼界,它们的语言五花八门,包括英语、俄语、法语、德语、西班牙语、波兰语、保加利亚语、印尼语……
内容包括:成人网站广告、线上赌球广告、互联网赌场广告、商业软件广告、购物网站广告、清洁用品广告、空调广告、印刷业务广告、松露广告、手提包广告、貂皮大衣广告、运动鞋广告、旅游景点广告、社交媒体广告、贷款广告、克服暴饮暴食的健康生活指南等等。
我想把贡献者用户都改为订阅者,这样他们就不能投稿了。但是现在已经有三万多个贡献者用户,在网站后台不能一次性修改他们的角色,所以只能去改数据库了。
修改WordPress的用户角色
HeidiSQL(访问官网)是一款开源免费的轻量级数据库管理工具。今天我用它导出了数据,修改后又导入了回去,所以记录一下它导出导入SQL的步骤。
Read More →
HeidiSQL 导入导出 SQL 文件
数据库的备份与恢复是个常见的问题,但是不同备份工具备份出来的.sql文件内容与格式不尽相同。
对于phpMyAdmin导出的sql文件,似乎用phpMyAdmin恢复比较容易。但我用其他一些MySQL数据库管理工具经常无法恢复成功(如使用Navicat for MySQL、HeidiSQL运行转储的sql文件,没有任何效果)。今天我试了下用MySQL命令行恢复phpMyAdmin导出的sql文件,感觉比较好使,记录一下。
恢复之前先手动创建一个空的数据库,编码和排序方式按需要选择。比如dedecms和WordPress默认的都是utf8_general_ci。
之后运行MySQL命令行,输入密码开始使用。
之后依次输入命令(按需要修改):
use databasename; set names utf8; source d:\desktop\simple.sql;
如下:
记得输入分号,否则第二个命令会跑偏。
输入第三条之后就开始恢复了,等到执行完毕就ok了。
其实前两条命令,有些工具导出的sql文件里已经有了,有的没有(phpMyAdmin导出的就没有,这应该也是直接运行它备份的sql文件时无法恢复数据的原因)。所以有些工具备份的sql文件可能比较容易恢复,有的就要手动输入命令了。
使用MySQL命令行恢复phpMyAdmin导出的sql文件
如果你以前在操作系统上安装过MySQL,那么当你重新安装MySQL时,会要求你先输入旧的密码(current password),才能设定新密码。
但是我刚才在一个新系统上安装MySQL,却也提示我输入current password。一开始我不知道这是什么鬼,随便填了个“root”,结果MySQL安装失败,报错:
Unable to update security settings. Access denied for user 'root'@'localhost' (using password: YES)
百度后发现这个问题在于current password密码不对,可是这个系统上以前根本没有安装过MySQL,怎么会要求输入current password呢?
后来我仔细思索,发现了问题所在。MySQL安装时会让我们选择数据库存放目录,当时我在D盘新建了个“database”文件夹,然后在安装路径里填入这个文件夹。MySQL当时就出现黄色感叹号,提醒:文件夹已存在。
当时觉得没什么,后来一想果然是这个原因。如果数据库目录是个已存在的目录(即使是空的),MySQL也认为以前安装过,就要求输入current password。
那么解决办法呢,有两种方式:
1.删除database文件夹,然后重新安装MySQL,让它自己去建立这个文件夹。
2.current password留空,不填即可。
mysql首次安装却需要输入current password的问题
WordPress设置网站副标题需要到后台的设置项里设置,操作起来太繁琐,于是我用php做了个设置网站副标题的接口。这个没什么技术含量,主要是熟悉下php对mysql数据库的基本操作流程。
首先是到数据库里找到网站副标题的字段:
找到之后写出用于修改它的sql语句,如下:
UPDATE wp_options SET option_value = '大好き' WHERE option_name = 'blogdescription'
接下来做一个html文件和一个php文件,用html文件给php文件发送要设置的副标题,php接到请求后执行数据库操作。
功能做好之后,把html传到网站上,并保存成书签。以后想修改修改副标题只要打开这个书签,输入文字就可以了。
Read More →
用PHP做一个设置网站副标题的接口
dedecms里默认的文章标题长度是60,如果添加文章时标题长度超出60,就会被截断,影响恶劣。
假设我要修改dedecms的文章标题长度为200,那么需要两个步骤:
1.到“系统设置”→“系统基本参数”→“其它选项”,修改“文档标题最大长度”选项为200。
2.到“系统设置”→“SQL命令行工具”中执行下面Sql语句:
alter table #@__archives change title title varchar(200)
这样就OK了。
需要注意的是,dedecms里设置的这个长度并不是按字数,而是按PHP里的字节数。在PHP中,GBK系列编码里的一个中文占据2个字节的长度;UTF-8编码里的一个中文占据3个字节的长度。英文字符则始终是一个长度。
dedecms织梦修改文章标题长度
昨天我准备把一个网站做个demo,先在dedecms的后台里添加了一篇文章,之后我想把它复制多次,可是dedecms没有复制文章的功能。于是我从数据库里操作,最后搞明白了。
dedecms关于文章的信息储存在三个表里:
dede_addonarticle:主要存储文章正文;
dede_archives:储存文章诸多次要信息,如标题、简介、flag等。
dede_arctiny:储存的信息较少,添加文章时dedecms会从这个表里判断哪些文章id被用过了。
虽然大佬们可能用sql语句来复制数据,不过作为主键的文章id(aid字段)不能重复,栏目id(typeid)也有好几个,所以我这弱鸡还是用可视化工具操作的。
下面以Navicat for MySQL为例讲解一下具体的操作。
Read More →
dedecms如何在数据库复制文章
由于我装的wampserver环境没有带phpMyAdmin,所以我自己撞了下,记录下过程。
1.到官网或其他下载站下载phpMyAdmin的安装文件。
2.解压后,将解压出来的文件夹改名为“phpmyadmin”,以便访问。
3.将phpmyadmin文件夹放到web环境里,如我在本地,就放到127.0.0.1里。
4.将phpmyadmin文件夹里的config.sample.inc.php 更名为 config.inc.php。
5.编辑并保存config.inc.php:
修改 $cfg['Servers'][$i]['controluser'] 把前面的 //去掉,在后面写上数据库名字 如 'root' $cfg['Servers'][$i]['controlpass'] 把前面的// 去掉,在后面写上数据库密码,如'123' 修改$cfg['blowfish_secret'] = '' 在后面'' 里面随便填上几个数字 '456'
做完之后,在浏览器中访问phpMyAdmin就OK了~
ps:本文是数据库相关,可巧的是我刚才在数据库里执行sql语句替换东西替换错了←_←
我先写了这篇文章,然后数据库替换出错了,又用今天早上的备份恢复了一下,所以这篇文章是第二次写的了→_→
安装phpMyAdmin
SQLyog是一个易于使用的、快速而简洁的图形化管理MYSQL数据库的工具。本次分享的是SQLyog企业版,内附注册码,当软件提示注册时打开sn.txt输入注册信息即可。唯一的缺点就是版本比较旧=。=