当前位置: 首页 > 知识库问答 >
问题:

如何将mysql latin1转换为utf8

宰父霖
2023-03-14

我继承了一个需要进一步开发的web系统。该系统似乎是由阅读了PHP教程两章的人创建的,他认为自己可以编写代码。。。

所以网页本身是UTF8格式的,显示并输入其中的所有内容。数据库表是用UTF8字符集创建的。但是,在配置中,有“SET NAMES LATIN1”。换句话说,UTF8编码的字符串用强制拉丁1编码填充到数据库中。

有没有一种方法可以将这些乱七八糟的东西转换为实际存储在utf8中并摆脱latin1?

我尝试了这个方法,但由于数据库表设置为utf8,所以它不起作用。也尝试过这个,但没有成功。

我可能可以通过使用拉丁文1编码读取PHP中的所有表,然后将它们写回utf8中的新数据库来实现这一点,但如果可能的话,我希望避免这种情况。

共有3个答案

弓磊
2023-03-14

更改列数据类型

到VARBINARY,它会自动转换拉丁文1数据

谢谢你们。我希望这有帮助。

颜修真
2023-03-14

情况并不像你想象的那么糟糕,除非你的数据库中已经有很多非罗马字符(也就是说,在拉丁1中无法表示的字符)。拉丁1是utf8的一个适当子集。您的Web应用程序在utf8中工作,您的表的内容也在utf8中。因此不需要转换表。

因此,尝试将集名称拉丁1改为集名称utf8。通过允许php程序的连接使用与连接两端的代码相同的字符集,它可能会解决您的问题。

读这个。http://dev.mysql.com/doc/refman/5.7/en/charset-connection.html

颜新
2023-03-14

我设法通过在文本字段上运行更新来解决它,如下所示:

UPDATE table SET title = CONVERT(CONVERT(CONVERT(title USING latin1) USING binary) USING UTF8)
 类似资料:
  • 问题内容: 我在mySQL 5.1中有一个数据类型的日期列。如何将其转换为DATE? 这是我到目前为止所拥有的- 得到这个 错误-#1064-您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’FROM 7 FOR 4附近使用) 请帮忙。 问题答案: 您可以使用MySQL的功能 尽管我怀疑您使用Unix时间戳会更轻松

  • 问题内容: 有没有一种简单的方法可以避免处理文本编码问题? 问题答案: 您确实无法避免处理文本编码问题,但是Apache Commons中已有一些解决方案: 至: 至: 您只需要选择所需的编码即可。

  • 问题内容: 如何使用Java将Dicom文件(.dcm)转换为jpeg图像?这是我的代码: 我在运行项目时遇到以下错误 请帮助并提前感谢 问题答案: 这是使用dcm4che 2将DICOM转换为JPEG的链接 以下是我的代码,效果很好,我将其与导入一起放置,因此可能用完了。 用于运行它的罐子 dcm4che-imageio-2.0.28.jar dcm4che-image-2.0.28.jar j

  • 问题内容: 我正在使用A 将Json从Web转换为字符串。 这可能很简单,但是我似乎无法将此字符串转换为。 我怎样才能做到这一点? 问题答案: 请参阅文档和示例。

  • 问题内容: 如何在Java中将org.jdom.Document转换为字符串? 问题答案:

  • 问题内容: 我有一个下面的代码- 通过HttpClient连接到Web服务到PHP文件 从SQL查询返回结果 返回格式是一个jArray(一个JSONArray) 当我查看LogCat时,我看到了查询的所有“名称”,每条记录都被打印出来。我只需要将这些结果插入ListView中即可。我怎样才能做到这一点? PS-我没有ArrayAdapter的单独类。这可能是原因吗? 问题答案: 如果您只想显示t