如何从windows-1257转换为utf-8(mysql)
我正在寻找一个编码问题的帮助,我已经挣扎了几天了 我有一个数据库,有“拉丁语-瑞典语-ci”的排序规则。当我查看单个条目时,它会显示一个混乱的文本如何从windows-1257转换为utf-8(mysql),mysql,encoding,utf-8,character-encoding,Mysql,Encoding,Utf 8,Character Encoding,我正在寻找一个编码问题的帮助,我已经挣扎了几天了 我有一个数据库,有“拉丁语-瑞典语-ci”的排序规则。当我查看单个条目时,它会显示一个混乱的文本 grieþos informçs 应该是 griežos informēs 好吧,那么。。。我尝试用php脚本将文本输出到浏览器并设置 <meta http-equiv="Content-Type" content="text/html; charset=windows-1257" /> 现在。。。它正确地显示数据(“griež
grieþos informçs
应该是
griežos informēs
好吧,那么。。。我尝试用php脚本将文本输出到浏览器并设置
<meta http-equiv="Content-Type" content="text/html; charset=windows-1257" />
现在。。。它正确地显示数据(“griežos informēs”)。我需要做的是将这些数据转换成UTF-8,这样我就可以使用
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
并正确显示所有内容
我尝试使用Notepad2创建一个编码为windows-1257的文件,然后从数据库复制文本并保存它。。。。同样的问题
甚至尝试在该数据库中使用utf-8排序规则创建一个表,并在其中插入数据。。。没有运气-只是表演?特殊字符的位置
任何帮助都将不胜感激
谢谢打开数据库连接后立即使用此查询,以便在每次页面加载时运行一次:
mysql_query('SET NAMES `utf8`');
打开数据库连接后立即使用此查询,以便在每次页面加载时运行一次:
mysql_query('SET NAMES `utf8`');
(test是列名)
这将使您获得正确字符集中的行。您应该使用UTF8创建一个新表,然后选择从旧表到新表的转换(..)
您可能还希望将旧表的字符集更改为cp1257_general_ci,而不是latin1_swedish_ci
为了不丢失数据,首先将列的数据类型更改为blob
,然后使用cp1257_general_ci将其第二次更改为varchar,最后第三次更改为utf8_unicode_ci(我建议先备份,以防万一)
(test是列名)
这将使您获得正确字符集中的行。您应该使用UTF8创建一个新表,然后选择从旧表到新表的转换(..)
您可能还希望将旧表的字符集更改为cp1257_general_ci,而不是latin1_swedish_ci
为了不丢失数据,首先将列的数据类型更改为
blob
,然后使用cp1257_general_ci将其第二次更改为varchar,最后第三次更改为utf8_unicode_ci(我建议先备份,以防万一)这对他没有帮助,因为列的定义字符集与实际数据的字符集不匹配,所以MySQL无法将其转换为utf8。这对他没有帮助,因为列的定义字符集与实际数据的字符集不匹配,所以MySQL无法将其转换为utf8。不,我是第二次这么说的:(对不起,我更新了我的答案。不,我是第二次这么说的:(对不起,我更新了我的答案。