【发布时间】:2014-12-09 15:05:00
【问题描述】:
我在 MySQL 中有一个包含几列的表和一个名为 "abstract" 的列,我想删除 "abstract" 中存在的所有非 utf 字符,因为我需要将它们输入到文本挖掘程序中。摘要包含许多十六进制值、数学符号等。
问题是我一直在尝试使用多种方式转换它们,但它们都失败了:
将数据导出到notepad++,使用正则表达式过滤掉字符(只保留字母数字、特殊字符)并用空格替换。之后使用
\r\n正则表达式在记事本++ 中删除CR LF。问题:数据混乱(行和分隔符)。将数据导出到 notepad++,将编码更改为 ansi,解码为 utf-8,无需 BOM。问题:它变成了中文或韩文字符,并没有变回非utf。
想试试mysql中
alter table modify到varchar和character set latin的步骤,再修改成blob,再修改成varchar和character utf-8。问题:我的抽象数据太长了,初始数据类型是blob.我不能把它改成其他数据类型,因为mysql不接受,说数据太长,因为它有与varchar数据类型无关的字符串
有人知道如何解决这个问题吗?
【问题讨论】:
标签: mysql regex encoding utf-8 notepad++