sql导入本地与MimeMessage
2023-02-18 16:42:22 时间
sql导入本地报错
我们知道服务器的定期备份文件设置是utf格式的,但是当我们下到本地开发环境导入的时候,却报了如下的错误:
一开始,我以为是导出的时候出现问题,看报错以为是主键出现冲突了,然后打开sql文件查看,看来看去啥问题都没有,所以断定不可能是数据库dump的时候产生的数据异常。那么会是什么原因呢?查看百度都是清一色的主键之类的设置不对,无语子。
然后尝试用workbench打开sql文件,用workbench来执行这个文件。当选择打开文件的时候跳出来一个弹窗,说当前不是utf8文件!我呆住了,难道我没有用utf8编码吗?打我使用notepad++(听说这软件作者有问题,emmm)打开查看,发现居然是gb2312文件!在workbench中设置用gb2312打开,居然真的运行成功了,导入也没有乱码。
实在是想不通,貌似是说使用本地编辑器打开就会自动将文件转码成本地的编码格式。所以如果不想转码的话,就不要用编辑器打开。或者,当编码改变后,再用工具将编码转为utf8,比如notepad++可以转换编码。当我把sql文件转为utf8编码后,再次在命令行执行导入指令,发现成功了!貌似,网上都没有说到过这种可能性吧,所以,我是第一人?哈哈。
MimeMessage
之前的邮件系统,发送的邮件都是纯文本的,今天稍微更改了一下,变成了html样式的文本了。没有多难,就贴一个代码自行理解了。
package top.dreamcenter.dreamcenter.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
...
@Service
public class AsyncServiceImpl implements AsyncService {
private final FriendReviewDao friendReviewDao;
private final JavaMailSender sender;
private final MailProperties properties;
private final ServerProperties serverProperties;
@Autowired
public AsyncServiceImpl(FriendReviewDao friendReviewDao, JavaMailSender sender, MailProperties properties, ServerProperties serverProperties) { ... }
@Async("asyncThreadPoolTaskExecutor")
@Override
public void sendMail(FriendReview friendReview){
int targetId = friendReview.getTarget();
FriendReview target = friendReviewDao.getReviewById(targetId);
String mail = null;
if (targetId == 0) {
mail = properties.getUsername();
} else if (target.getTip() == 1){
mail = target.getEmail();
}
if (mail!=null) {
MimeMessageHelper helper = new MimeMessageHelper(sender.createMimeMessage());
try {
helper.setFrom(properties.getUsername());
helper.setTo(mail);
helper.setSubject("来自:" + friendReview.getNickname() + "的回复");
if (target == null) {
helper.setText("个人主页收到新的回复:" +
"\n内容:" + friendReview.getMsg() + ";" +
"\n来自:" + serverProperties.getMailVisit() + ";");
} else {
helper.setText(constructMailMsg(target.getMsg(), friendReview.getMsg(),
friendReview.getNickname(), serverProperties.getMailVisit()).toString(),true);
}
sender.send(helper.getMimeMessage());
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
public StringBuilder constructMailMsg(String msgFather,String msgSon,String from,String url) { ... }
}
相关文章
- 获取postgresql数据字典
- 解密openGauss数据库中的函数依赖关系
- openGauss数据库从3.0.0升级到3.1.0操作实践
- 云原生时代数据库运维体系演进
- 新一代HTAP数据库崛起,MySQL生态的最佳归宿?
- 都说“存算分离”好,分布式数据库为何还要“进一步分离”?
- SQL Server 2012软件安装教程
- 【MySQL数据库】多表关系与多表联合查询
- 数据库主从分离加读写分离操作步骤
- 《程序员数学:斐波那契》—— 为什么不能用斐波那契散列,做数据库路由算法?
- 【PostgreSQL】基于CentOS系统安装PostgreSQL数据库
- 【OceanBase】基于CentOS系统安装OceanBase数据库
- mysql最常用的函数只需一篇文章
- 【docker-compose】一键安装PostgreSQL数据库
- 【MySQL】基于Win10系统安装配置MySQL8.0.28版本的数据库
- 【docker】使用容器安装部署OceanBase社区版数据库
- mysql-connect-confused
- 用SQL语句进行数据库查询(简单查询)
- SQL(及存储过程)跑得太慢怎么办?
- 猿创征文|体验新一代分布式数据库—OceanBase