mysql - 将mysql中所有非utf8字符改为utf-8(编码问题)

标签 mysql regex encoding utf-8 notepad++

我在 MySQL 中有一个表,其中包含多个列和一个名为 "abstract" 的列,我想删除 "abstract" 中存在的所有非 utf 字符,因为我需要将它们输入到文本挖掘程序中​​。摘要包含大量十六进制值、数学符号等。 问题是我一直在尝试使用多种方法来转换它们,但都失败了:

  1. 将数据导出到notepad++中,使用正则表达式过滤掉字符(仅保留字母数字、特殊字符)并用空格替换它们。之后,使用 \r\n 正则表达式删除 notepad++ 中的 CR LF 。问题:数据变得困惑(行和分隔符)。

  2. 将数据导出到notepad++中,将编码改为ansi,解码为无BOM的utf-8。问题:它更改为中文或韩文字符,并且没有更改回非 utf。

  3. 想尝试mysql中的步骤,通过alter table修改varchar字符集latin,再次修改为blob,并再次修改为带有字符utf-8varchar。问题:我的抽象数据太长,并且初始数据类型是blob。我无法将其更改为其他数据类型,因为mysql不会接受它并说数据太长并且因为它有不相关的字符串对于 varchar 数据类型

有人知道如何解决这个问题吗?

最佳答案

这可以工作:

  1. 使用方法 1,但删除 CR/LF。
  2. 将数据导入回数据库并删除其中的 CR/LF。

关于mysql - 将mysql中所有非utf8字符改为utf-8(编码问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26367273/

相关文章:

mysql - 在 mysql 中的连接查询中无法获得不同的结果

sql - Oracle REGEXP_LIKE - 搜索字符串后面没有特定字符

javascript - 如何将 "&"更改为 & for twitter javascript 程序

c# - 仅匹配不以零开头的数字的正则表达式

JavaScript正则表达式在字符串后获取数字

.net - Visual Studio中的源文件编码(VS2005,但可以应用于其他版本)

eclipse - 如何更改eclipse中文件的文本编码?

PHP 没有错误显示但没有获取数据库字段

mysql - 寻找一种从 MySQL 数据库查询数据并将其写入输出 txt 文件的方法

PHP 准备语句准备第二条语句失败