【问题标题】:PHP,sql, UTF-8 encodingPHP,sql, UTF-8 编码
【发布时间】:2012-08-02 17:14:51
【问题描述】:

我试图在我正在建立的论坛上了解 UTF-8 编码的一些问题, 首先,我使用的是:

    <?xml version="1.0" encoding="utf-8"?>

和:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

所以 xml 编码是 utf-8,元字符集也是如此,我正在使用的文件也是 UTF-8 > 在 Notepad++ 里面是 UTF-8 without BOM,在 sql server 数据库和表是 utf8_general_ci,

问题是当我从 php 代码中插入数据时,我在浏览器上看到数据正常,但在 sql server 上却很奇怪,

当我插入来自 sql server 的数据时,我在 sql server 上看到数据正常,但在浏览器上却很奇怪,如果有人知道,我将非常感激。

【问题讨论】:

  • 你有SET NAMES 'utf8' 吗?在进行任何查询之前,您可以使用 mysql_set_charset("utf8") 或 $db-&gt;set_charset("utf8") 进行此操作
  • 在php中使用这个header('Content-Type: text/html; charset=utf-8');加上在连接后直接添加@Esailija查询,假设你使用的是mysql
  • 谢谢,我应该在连接处设置字符集,这里是:stackoverflow.com/questions/4361459/php-pdo-charset-set-names

标签: php sql encoding utf-8


【解决方案1】:

你使用什么样的sql server? 我是 postgres 或 mysql 的情况,你应该定义 支持 utf-8 的表格和/或字段。

否则,当通过 csv 和数据填充 db 时 里面不是 utf-8 编码的,你页面上的结果 然后也不会被 utf-8 编码。

在这种情况下,您可以手动转换字符集。

【讨论】:

    【解决方案2】:

    $db = mysql_connect(...);

    /* 将字符集更改为 utf8 */ mysql_query('SET NAMES utf8');

    简单!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 2012-12-04
      • 2013-09-01
      • 1970-01-01
      相关资源
      最近更新 更多