微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 为什么扩展的ascii字符(â,é等)被替换为<?>字符?

为什么扩展的ascii字符(â,é等)被替换为<?>字符?

我附加了一张图片…但是我使用PHPMysqL提取数据,其中一些位置有扩展字符…我使用的是字体Arial.

你可以在这里看到截图:http://img269.imageshack.us/i/funnychar.png/

在建议之后仍然发生,这是我做的:

我的firefox(view->编码)在添加行后设置为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

看一下页面的来源,我明白了
< option value =“Br l Lake”> Br l 湖

好的 – 新的更新 –
我将PHP和HTML中的所有内容更改为:

header(‘Content-Type:text / html; charset = latin1’);

现在它的工作原理是什么?如何将其全部转换为UTF-8?

解决方法:

这就是浏览器在不知道用于角色的编码时所做的事情.确保在headers或markup Meta中指定发送给客户端的文本的编码类型.

在HTML中:

<Meta http-equiv="Content-Type" content="text/html; charset=utf-8">

PHP中(在将任何其他内容发送到客户端之前):

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

我假设你想要UTF-8编码.如果您的网站使用其他文字编码,则应将UTF-8替换为您正在使用的编码.

关于使用HTML指定编码的一件事是,浏览器在看到Content-Type元标记后将重新开始呈现页面,因此您应该包含< Meta />在< head />之后立即标记在您的页面标记,以便浏览器不再进行任何额外的处理.

一个常见的字符集是“iso-8859-1”(Basic Latin),您可能希望使用它而不是UTF-8.您可以在character encodings and the web这篇精彩的文章中找到更多详细信息.如果您需要特定类型,还可以获得详尽的list of character encodings here.

如果没有别的办法,另一种(罕见的)可能是您的计算机上没有安装显示页面所需字符的字体.我已经尝试了repeating your results on my own server但没有运气,可能是因为我的机器上安装了很多字体,因此浏览器总是可以用一种字体替换另一种字体的不可用字符.

通过进一步调查我注意到的是,如果文本以不同于浏览器报告的编码的编码发送,则Unicode字符可以意外地呈现.为了解决这个问题,我使用了HTML character entity representation的特殊字符,所以â成为&#226;在我的HTML和é变成é.一旦我这样做,无论我报告的编码是什么,我的角色都能正确呈现.

显然,您不希望将数据库修改为HTML编码Unicode字符.如果你必须这样做,你最好的选择是使用PHP函数,htmlentities().你应该在你希望有Unicode字符的任何数据驱动文本上使用这个函数.这可能很烦人,但如果指定编码不’ t help,这是强制Unicode字符工作的最后一招.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐