首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UTF-8问题,不知道

UTF-8问题,不知道
EN

Stack Overflow用户
提问于 2009-07-05 06:35:03
回答 7查看 871关注 0票数 6

我的网页上的一些文件有一个奇怪的问题。

我的数据存储在MYSQL数据库中,UTF8编码。如果读取我的网页显示的值

Rezept : Gem�se mal anders (Gem�selaibchen)

我需要土/土!

数据库中的内容是"Gemüse .“。

我的error_log中的原始数据如下所示

标题=> Rezept : Gemüse mal anders (Gemüselaibchen)

网页标题是:

代码语言:javascript
复制
<!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" />
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-07-05 07:46:49

MySQL需要知道您希望输出为UTF-8 -它可能被配置为latin1,因此您的浏览器可以看到无效的UTF-8字节序列,并输出“非字符”字形。

打开utf8连接后立即发送查询"SET“,或者更改配置(如果可能的话)。

票数 8
EN

Stack Overflow用户

发布于 2009-07-05 06:38:14

你必须设置你的网页的编码.

设置编码有三种方法:

  1. HTML/XHTML:使用header:

charset=UTF-8

  • HTML:使用一个meta元素:( XHTML也可以,但在某种程度上只使用:在序言中设置编码:( XHTML)

首选)

如果您想首先验证问题::

首先,使用浏览器手动更改编码。如果这样做有效,可以在HTML文件中设置它。确保您将手动编码重置为自动检测,否则它将在您的工作站上工作,而不是在您用户的工作站上工作!

专用:确保您的内部编码设置为UTF-8!所有输出都转换为此编码。

您可以在每个文件的顶部使用mb_internal_encoding执行内部编码。

,毕竟,:如果您的代码实际上不是UTF-8编码,那么所有这些都不会有帮助!如果是,请检查是否有可能破坏UTF-8编码的辅助函数.

票数 11
EN

Stack Overflow用户

发布于 2009-07-05 07:57:23

该Unicode替换字符�仅在编码不正确时才会出现。因此,在您的情况下,您声明您的数据为UTF-8编码,但它不是(至少部分您引用)。在ISO 8859-1中编码的是0xFC,但这是UTF-8中一个无效的八进制。

因此,您需要确保您的数据实际上是用UTF-8编码的。有些函数可以检查给定字符串是否为UTF-8,例如mb_detect_encodingthis is_utf8 function

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1083574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档