php - 如何判断我的 mySQL 编码是什么(utf-8、windows-1255 等)

标签 php mysql database encoding phpmyadmin

我正在使用 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 中做到这一点?我做错了什么?

最佳答案

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

关于php - 如何判断我的 mySQL 编码是什么(utf-8、windows-1255 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6889658/

相关文章:

php - 多维数组中的最小值

php - 使用ajax和php将数据插入postgresql数据库

php - 从 mysql 表获取结果,同时匹配另一个表的结果

java - 数据库更新时实时重新加载

php - 将 iPhone 应用程序 (iOS SDK) 连接到 php/MySql 后端的最佳方法是什么

php - 将动态数组保存到 MySQL 数据库

php - 移动到 SSL 后页面加载后丢失 session

php - 用php填充表格

database - 理解 Heroku 的数据库存储

database - 使用二维码将信息存储在数据库中