有没有办法直接在我的Mysql中修复编码问题?

时间:2015-10-26 13:48:31

标签: php mysql wordpress character-encoding

我的Wordpress安装有问题。不知何故,所有内容都插入到数据库中,并且错误的字符集,但在前端工作正常。

正如你在这里看到的: http://prntscr.com/8vifc3

我正在更改我的主机,但是当我导入我的网站时,由于内容的插入方式,因此无法正确呈现编码。

有一种方法可以在导出之前直接在我以前的mysql中修改编码吗?

由于

3 个答案:

答案 0 :(得分:1)

您可以通过将字符串转换为二进制文件然后执行字符集转换来解决此问题。以下示例将UTF8数据转换为CP1251

UPDATE table SET column=CONVERT(CONVERT(CONVERT(column USING binary) USING utf8) USING cp1251) WHERE id=123;

答案 1 :(得分:0)

你可以使用set_charset`函数

在mysqli中

$mysqli->set_charset("utf8")

或者您可以将charset从phpmyadmin更改为utf8_*

答案 2 :(得分:0)

那是Mojibake

  • 客户端中的字节在utf8(正常)中正确编码。
  • 您可能默认与SET NAMES latin1(或set_charset('latin1')或...)相关联。 (应该是utf8。)
  • 表格中的列可能是CHARACTER SET utf8,也可能不是ALTER TABLE Tbl MODIFY COLUMN col VARBINARY(...) ...; ALTER TABLE Tbl MODIFY COLUMN col VARCHAR(...) ... CHARACTER SET utf8 ...; ,但应该是这样。

如果您需要修复数据,则需要“两步更改”,例如

>>>locale.setlocale(locale.LC_ALL, 'esp_esp')
'Spanish_Spain.1252'
>>>print(locale.format('%d', 10000000, grouping=True))
10.000.000