我的网页上的一些文件有一个奇怪的问题。
我的数据存储在MYSQL数据库中,UTF8编码。如果读取我的网页显示的值
Rezept : Gem�se mal anders (Gem�selaibchen)
我需要土/土!
数据库中的内容是"Gemüse .“。
我的error_log中的原始数据如下所示
标题=> Rezept : Gemüse mal anders (Gemüselaibchen)
网页标题是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<!--[if IE]>
<link rel="stylesheet" href="http://www.dev-twitter-gewitter.com/css//blueprint/ie.css"
type="text/css" media="screen, projection">
<![endif]-->
<meta name="text/html; charset=UTF-8" content="Content-Type" />发布于 2009-07-05 07:46:49
MySQL需要知道您希望输出为UTF-8 -它可能被配置为latin1,因此您的浏览器可以看到无效的UTF-8字节序列,并输出“非字符”字形。
打开utf8连接后立即发送查询"SET“,或者更改配置(如果可能的话)。
发布于 2009-07-05 06:38:14
你必须设置你的网页的编码.
设置编码有三种方法:
charset=UTF-8
首选)
如果您想首先验证问题::
首先,使用浏览器手动更改编码。如果这样做有效,可以在HTML文件中设置它。确保您将手动编码重置为自动检测,否则它将在您的工作站上工作,而不是在您用户的工作站上工作!
专用:确保您的内部编码设置为UTF-8!所有输出都转换为此编码。
您可以在每个文件的顶部使用mb_internal_encoding执行内部编码。
,毕竟,:如果您的代码实际上不是UTF-8编码,那么所有这些都不会有帮助!如果是,请检查是否有可能破坏UTF-8编码的辅助函数.
发布于 2009-07-05 07:57:23
该Unicode替换字符�仅在编码不正确时才会出现。因此,在您的情况下,您声明您的数据为UTF-8编码,但它不是(至少部分您引用)。在ISO 8859-1中编码的是0xFC,但这是UTF-8中一个无效的八进制。
因此,您需要确保您的数据实际上是用UTF-8编码的。有些函数可以检查给定字符串是否为UTF-8,例如mb_detect_encoding或this is_utf8 function。
https://stackoverflow.com/questions/1083574
复制相似问题