PHP编码问题

Posted

技术标签:

【中文标题】PHP编码问题【英文标题】:PHP encoding issue 【发布时间】:2011-03-26 01:56:27 【问题描述】:

我无法正确显示西里尔字符。在论坛中查看,尝试了一些不同的东西,但没有任何效果。

网站在 php / mysql 上运行。

MySQL 表 charset 是 utf8,排序规则是 utf8_general_ci DB 中的名称条目看起来正确(在 PhpmyAdmin 中): 萨沙Рукина

http://www.sodaq.com/ 页面上的输出:Sasha ??????

我使用的 PHP 内部:

mb_internal_encoding("UTF-8"); mb_http_output("UTF-8");

并发送HTTP头'Content-type: text/html;字符集=utf-8'

仍然显示'????'而不是普通字符。

请帮忙。

【问题讨论】:

不确定,但您是否检查过浏览器是否已经安装了编码? 确定没有浏览器问题?该链接处的文本在此处正确呈现,并且文档被正确检测为 UTF-8。 UTF-8 all the way through...的可能重复 @zerocrates,它不是浏览器,我确实试过了。我将 SET NAMES 和 SET CHARACTER_SET 添加到 utf8 并且它起作用了。 【参考方案1】:

在加载数据之前尝试执行以下查询

SET NAMES 'utf8';

【讨论】:

【参考方案2】:

你也试过了吗:

set character_set_connection=utf8;

【讨论】:

【参考方案3】:

您没有提及您使用的字体,但这是一个重要因素。并非所有字体都包含所有字符集。

【讨论】:

字体无关紧要。我最终所做的只是将表转换为 UTF-8 并添加 mysql_query ("SET NAMES utf8"); mysql_query ("SET CHARACTER_SET utf8");到 PHP 中的 MySQL 连接代码

以上是关于PHP编码问题的主要内容,如果未能解决你的问题,请参考以下文章

PHP操作CSV文件的编码问题

php [编码]编码问题#电影业务

PHP解码url编码问题

php SOAP 响应编码问题

解析php开发中的中文编码问题

PHP电子邮件编码?