【问题标题】:How to tell what is my mySQL encoding (utf-8, windows-1255, etc)如何判断我的 mySQL 编码是什么(utf-8、windows-1255 等)
【发布时间】:2011-10-16 21:47:44
【问题描述】:

我正在使用 phpMyAdmin 来管理我的表格。

我的数据库编码是 UTF-8(我已将其排序规则 - 在“操作”选项卡内更改为 utf8_general_ci)。

表格的编码是 UTF-8(我已将其排序规则 - 在“操作”选项卡内更改为 utf8_general_ci)。

甚至表格内的文本字段都是utf8_general_ci。

问题是浏览器显示奇怪的问号(但所有其他非数据库文本都会正确显示):

<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8" />

通过这一行,浏览器可以正确显示数据库数据(但所有其他文本都是不可读的):

<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=windows-1255" />

我认为这意味着数据库是用“windows-1255”编码的——但是为什么?!如何将其定义为 utf-8 并为我显示非拉丁字符?有没有办法在 phpMyAdmin 中做到这一点?我做错了什么?

【问题讨论】:

    标签: php mysql database encoding phpmyadmin


    【解决方案1】:

    您的数据库应为 UTF-8(您可以在 PHPMyAdmin 中查看)
    您的连接应该是 UTF-8(在第一次查询之前:SET NAMES utf-8 或默认设置中的某处)
    您的元标记或标头应为 UTF-8 (Content-type: text/html; charset=utf-8)

    【讨论】:

    • 你能告诉我我需要写什么吗(只是一个例子,所以我会知道我需要放什么以及在哪里) - 我是新手,所以我需要更多帮助..
    • 我认为问题是第二个。在您的 PHP 代码中连接执行查询 SET NAMES utf-8 后可能会丢失旧数据,但应正确插入/选择新数据
    猜你喜欢
    • 2018-05-25
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 2016-03-13
    相关资源
    最近更新 更多