【发布时间】:2009-06-22 17:28:17
【问题描述】:
为什么扩展 ascii 字符(â、é 等)被 > 字符替换?
我附上了一张图片...但是我正在使用 PHP 从 MySQL 中提取数据,并且其中一些位置具有扩展字符...我使用的是字体 Arial。
您可以在此处查看屏幕截图:http://img269.imageshack.us/i/funnychar.png/
在建议之后仍然发生,这是我所做的:
我的 firefox (view->encoding) 在添加该行后设置为 UTF-8,但是,选项标签内的文本仍然显示有趣的字符,而不是实际的重音字符。我现在应该寻找什么?
更新: 我在 PHP 程序中有以下内容,它给了我那些 > 字符...
ini_set( 'default_charset', 'UTF-8' );
在我的 zend db 对象创建之后,我正在设置以下查询:
$db->query("SET NAMES utf8;");
我将所有表都更改为 UTF-8 并重新插入所有数据(浪费时间),因为它没有帮助。之前是 latin1。
还有 STATUS 报告:
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 4 days 20 hours 59 min 41 sec
查看页面的来源,我看到了
好的-新的更新- 我将 PHP 和 HTML 中的所有内容更改为:
和
header('Content-Type: text/html; charset=latin1');
现在它起作用了,什么给出了?如何将其全部转换为 UTF-8?
【问题讨论】:
-
您使用的 Firefox 版本是什么?我试图重现您的问题,但无法重现。您正在测试的机器是否可能没有安装正确的 Unicode 字体?如果您有兴趣查看我测试过的页面,可以在这里找到:dan-herbert.com/unicode.htm
-
奇怪,dan-herbert.com/unicode.htm 在我的同一个浏览器中看起来很完美...这样就可以消除 firefox...
标签: php html character-encoding