当前位置: 首页 > 面试题库 >

如何修复双编码的UTF8字符(在utf-8表中)

汪翰墨
2023-03-14
问题内容

LOAD DATA INFILE在对CSV文件进行latin1编码的假设下运行了以前的文件。在此导入过程中,将多字节字符解释为两个单个字符,然后再次使用utf-8进行编码。

这种双重编码会产生类似的异常,ñ而不是ñ

如何更正这些字符串?


问题答案:

下面的MySQL函数在双重编码后将返回正确的utf8字符串:

CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)

它可以与UPDATE语句一起使用以更正字段:

UPDATE tablename SET
    field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);


 类似资料:
  • 问题内容: 我正在修复一些错误的UTF-8编码。我目前正在使用PHP 5和MySQL。 在我的数据库中,我有一些编码错误的实例,例如:ƒ 数据库整理是utf8_general_ci PHP使用的是正确的UTF-8标头 Notepad ++设置为使用不带BOM的UTF-8 数据库管理在phpMyAdmin中处理 并非所有重音符号的情况都被破坏 我需要某种函数来帮助我将ƒ,®,?,?¼和其他类似的实例

  • 我有一个latin1_swedish_ci数据库,其中包含UTF-8字节字符,显示为%c5%a1,%c4%8d,... 我已经将数据库和表从latin1转换为utf8,但我仍然需要修复UTF-8字节字符。 MySQL默认字符集: 我尝试了MySQL函数没有成功: 我真的需要帮助!谢谢.

  • 我有一个jsp文件,在那里我收集表单值,并通过jQuery Ajax将其发送到strut 2 action class。 我的Ajax函数看起来像 当我解码并提醒它的文本我正确编码和解码。 当我通过ajax将其发送到struts2时,它会产生问题。 我已经检查了Interceptor中的值它显示值??????? 拦截器 在我的jsp文件中,我将内容类型设置为UTF-8,在ajax中,我也检查了内容

  • 我正在尝试提交一个包含UTF-8字符的表单。 问题是,在查询日志中,日语字符是乱码的,从响应来看,它们似乎是双重编码的(UTF-8)。 如果我使用GET而不是POST,一切都会正常。谁能帮帮我吗?这在哪里得到双重编码?我该怎么修?

  • 问题内容: 我遇到了这行遗留代码,我试图找出这些遗留代码: 据我了解,它是使用相同的charSet进行编码和解码。 这与以下内容有何不同? 在任何情况下,两条生产线的输出将不同? ps:只是要澄清一下,是的,我知道Joel Spolsky撰写的关于编码 的出色文章! 问题答案: 这可能是很复杂的方式 这缩短了String,而所使用的基础char []则更长。 但是,更具体地说,将检查每个字符是否都

  • 问题内容: 我将承担将数据库从Latin1转换为UTF-8的繁琐而棘手的任务。 在这一点上,我只想检查存储在表中的数据类型,因为这将确定我应使用哪种方法转换数据。 具体来说,我想检查Latin1列中是否有UTF-8字符,什么是最好的方法?如果只影响几行,那么我可以手动修复它。 选项1.执行MySQL转储并使用Perl搜索UTF-8字符吗? 选项2。使用MySQL CHAR_LENGTH查找具有多字