[linux] CentOS 下安装 percona-toolkit

percona-toolkit 是一组高级命令行工具的集合, 用来执行各种复杂和麻烦的 MySQL 操作。

下面记录一下在 CentOS 下如何通过 rpm 安装 percona-toolkit:

  1. 安装依赖
    yum install perl perl-IO-Socket-SSL perl-Time-HiRes

  2. 下载 rpm 包
    wget percona.com/get/percona-toolkit.rpm

  3. 安装 rpm 包
    rpm -ivh percona-toolkit-*.rpm

---EOF---

more ...

[django]通过自定义 Model Field 的方式将上传的文本文件按 UTF-8 编码保存

默认情况下上传的文件都是按原始编码进行保存的,用户上传什么编码的文件就保存什么编码的文件。

下面将举例说明如何通过自定义 Model Field 的方式将文件的编码改为 UTF-8。

假设有个文件: app/fields.py

import chardet
from django.db import models
from south.modelsinspector import add_introspection_rules

class UTF8TextFileField(models.FileField):
    """上传的文本文件将按 utf8 编码保存"""

    def clean(self, *args, **kwargs):
        uploaded_file = super(UTF8TextFileField, self).clean(*args, **kwargs)
        content_raw = uploaded_file.file.read()
        # 猜测原始文件编码
        encoding = chardet.detect ...
more ...