php - 在mysql数据库中获取值时出现奇怪的字符

标签 php mysql character-encoding

我在我的数据库中得到了这种结果 ’每次我输入这个字符

我已经使用mysql_query('SET CHARACTER SET utf8');从我的数据库获取数据时。

我已经有 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />.....这个在我的 HTML 上。

这里还缺少什么?我们将非常感谢您的帮助并给予奖励!

谢谢!

最佳答案

我注意到您正在运行此查询... mysql_query('SET CHARACTER SET utf8');
尝试将其更改为这个...

mysql_query("SET NAMES 'utf8'");

这应该确保连接是 UTF-8。

另请尝试浏览本文中的项目列表... http://blog.loftdigital.com/blog/php-utf-8-cheatsheet
这里列出了确保您在站点/应用程序中从前到后使用 UTF-8 所需的步骤,但总结如下:

  • 检查您是否有 PHP 的 mbstring 扩展以及 mb_internal_encoding('UTF-8');在您的脚本中设置。
  • 确保在连接到数据库后运行此 MySQL 查询 mysql_query("SET NAMES 'utf8'");这确保连接是 UTF-8。
  • 设置输出的 HTTP header ... header('Content-type: text/html; charset=UTF-8'); 。如果您设置了mb_internal_encoding(),这似乎不需要上面但是对于调试很有用
  • 确保您的 HTML 页面的输出编码已设置... <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

关于php - 在mysql数据库中获取值时出现奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11484706/

相关文章:

php - 访问 magento 管理面板时连接被重置

mysql - 需要替换MySQL中的HTML单引号实体

php - 即使 utf-8 字符集也转换为带菱形的问号

php - 按日期从 mysql 获取信息

在 CentOS 上安装时的 php-mcrypt 依赖问题(最新服务器版本)

mysql - Laravel 4.2 计算今天插入了多少行

mysql - mysql 中 int(11) 列的大小是多少(以字节为单位)?

php - 带有ajax响应的奇怪编码

php 到 csv 和特殊字符

php - 为什么我的 Amazon S3 图像加载缓慢?