PHP编码问题
Posted
技术标签:
【中文标题】PHP编码问题【英文标题】:PHP encoding issue 【发布时间】:2011-03-26 01:56:27 【问题描述】:我无法正确显示西里尔字符。在论坛中查看,尝试了一些不同的东西,但没有任何效果。
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编码问题的主要内容,如果未能解决你的问题,请参考以下文章