方便地向MySQL输入UTF8数据

时间:2013-07-25 12:23:33

标签: mysql utf-8 phpmyadmin

我来自匈牙利,如果谈论字符编码会使事情变得复杂。当我对网站进行编码时,我无法避免在MySQL中存储简单数据,而这通常不需要管理员表面来处理。我的意思是我不会让管理员在表格中记录菜单名称。但我不得不。因为在phpMyadmin中记录UTF8属性是不可能的(或者我还没有找到解决方案)。 我的输入在UTF8字段中保持ISO-8859-2编码,因为我通过phpMyadmin发送它。如果我使用UTF8网页,UTF8格式将数据发送到数据库,一切都是UTF,我绝对没问题

所以我的观点是,每当我想将一些UTF8插入到UTF8编码的数据库中时,制作管理界面或类似的东西是间接和耗时的。 phpmyadmin对我来说无法使用。但我不想自己编写另一个phpmyadmin。这没有任何意义。必须有一个解决方案。你能帮忙吗?

Actual UTF8 attributes show off the right way. The line marked with blue line has been recorded with phpmyadmin and is not stored as UTF8.

(实际的UTF8属性以正确的方式显示。标有蓝线的行已使用phpmyadmin录制,并未存储为UTF8。)

3 个答案:

答案 0 :(得分:4)

我只是在黑暗中采取非常狂野的刺:

phpMyAdmin实际上是正确的。不起作用的是您的自定义界面,因为它没有正确设置连接编码。因此,您通过它插入的所有数据都会在数据库中混乱,但恰好在您的应用程序中有一个干净的往返。 phpMyAdmin插入实际的 UTF-8数据,这些数据在通过错误连接检索时会混乱。

请参阅UTF-8 all the way throughHandling Unicode Front To Back In A Web App

答案 1 :(得分:1)

对于那些可能在将来发现同一问题的人,我在使用此查询设置连接后立即设置了连接编码:

SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'

答案 2 :(得分:0)

我和你有完全相同的问题。过了一会儿,我找到了解决方案,使用utf8-to-html在线转换器 Convert to HTML 。只需键入您的Unicode文本并复制结果,粘贴到您的PHPMyadmin。