[英]Which is the best character encoding for Japanese language for DB, php, and html display?
[英]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');
其他可能有帮助的步骤:
将文件编码设置为UTF-8。
将表列设置为UTF-8(通常使用utf8-general)。
连接到数据库后,运行查询SET NAMES utf8
。
更改
header('Content-Type: text/html; charset=ISO-8859-1');
至
header('Content-Type: text/html; charset=utf-8');
在HTML中, charset
为utf-8
,但在PHP中则不同。 确保它们相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.