繁体   English   中英

在php中显示字符编码

[英]display character encoding in php

我已经在PHP中从MySQL检索数据并将其发布到客户端:如果我使用select * from users LIMIT 8; 没问题..但是当select * from users LIMIT 9;select * from users LIMIT 9; 最后检索到的数据打破了页面..当我在php中调试时,我也看到此数据看起来还不错:

1 = "CN=User1,OU=ARGE,OU=Personel,OU=Kullanicilar,OU=CompanyName,DC=company,DC=intra 2 ="CN=User2,OU=ARGE,OU=Personel,OU=Kullanicilar,OU=CompanyName,DC=company,DC=intra 3 ="CN=User3,OU=ARGE,OU=Personel,OU=Kullanicilar,OU=CompanyName,DC=company,DC=intra 4 ="CN=User4,OU=ARGE,OU=Personel,OU=Kullanicilar,OU=CompanyName,DC=company,DC=intra 5 ="CN=Öney,OU=ARGE,OU=Personel,OU=Kullanicilar,OU=CompanyName,DC=company,DC=intra

但是没有从php返回的数据。.很明显,'Ö'字符引起了这种情况,但是我不明白为什么它看起来很真实,而我的字符编码是:

我的页面

这也是我页面的顶部:

header('Content-Type: text/html; charset=ISO-8859-1');

当我在mypage.php的html中键入标题``完成4个任务''时,它看起来是:``完成4个任务''。 在stackoverflow中看起来不错,我想要我的..现在在html或php或两者中都找不到问题了吗?

编辑:由于我在脚本变量中看到“Öney”字符,所以我认为在php页面中存在问题。

我的连接设置:

$this->dbh = new PDO('mysql:host=localhost;dbname=webfilter;port=3306;connect_timeout=15', 'root', 'company');
            $this->dbh->exec("set names utf8");

您要在meta中将字符集指定为UTF-8

<meta charset="utf-8"/>

但是您要在PHP中指定ISO-8859-1

header('Content-Type: text/html; charset=ISO-8859-1');

您将需要保持一致性,更改PHP标头函数以将字符集也设置为UTF-8:

header('Content-Type: text/html; charset=utf-8');

其他可能有帮助的步骤:

  1. 将文件编码设置为UTF-8。

  2. 将表列设置为UTF-8(通常使用utf8-general)。

  3. 连接到数据库后,运行查询SET NAMES utf8

更改

header('Content-Type: text/html; charset=ISO-8859-1');  

header('Content-Type: text/html; charset=utf-8');  

在HTML中, charsetutf-8 ,但在PHP中则不同。 确保它们相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM