文本中显示问号字符,这是为什么?

问题描述 投票:22回答:9

我有一个备份服务器,该服务器自动备份我的活动站点,包括文件和数据库。

在实时站点上,文本看起来不错,但是当您查看其镜像版本时,显示为“?”在某些文本中。此文本存储在新闻数据库表中。

这里是它在实时服务器上以及在镜像服务器上的屏幕快照。

将其备份到镜像服务器的过程中会发生什么?“替代文字”

html backup character-encoding mirror
9个回答
21
投票

以下文章将是有用的

http://dev.mysql.com/doc/refman/5.0/en/charset-syntax.html

http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

连接到数据库后,发出以下命令:

SET NAMES'utf8';

确保您的网页也使用UTF-8编码:

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

PHP还提供了一些对转换有用的功能:

http://us3.php.net/manual/en/function.iconv.php

http://us.php.net/mb_convert_encoding


11
投票

在“镜像”服务器(有问题的服务器)上编辑Apache配置文件,并注释掉以下行:

AddDefaultCharset UTF-8

然后重新启动Apache:

service httpd restart

问题是,“ AddDefaultCharset UTF-8”行将覆盖.html文件中指定的Content-Type;例如:

<meta http-equiv=Content-Type content="text/html; charset=windows-1252">

[最常见的症状是,高于127的字符代码显示为黑色菱形,上面带有问号(在Chrome,Safari或Firefox中),或者显示为小方框(在IE和Opera中)。由Microsoft Word生成的HTML文件通常包含许多这样的字符,最常见的是字符代码160 = 0xA0,等效于“&nbsp;”在Windows-1252编码中,通常在跨度标签之间找到,例如:

<span style="mso-spacerun: yes">ááá </span>

4
投票

我来这里是为了寻找浏览器中显示的JavaScript解决方案,尽管该解决方案与数据库没有直接关系...

就我而言,我将在互联网上找到的一些文本复制并粘贴到一个JavaScript文件中,并使用Windows记事本保存。

[当使用该JavaScript文件的页面输出字符串时,有问号(如问题中显示的问号),而不是带有重音符号的特殊字符等)>

我使用Notepad++打开了文件。打开文件后,我看到以下屏幕截图中的字符编码设置为Notepad++(在页脚上的鼠标光标):

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9VeHRYNy5wbmcifQ==” alt =“在此处输入图像描述”>

要解决该问题,请单击ANSI中的Encoding菜单,然后选择Notepad++。你应该很好。 :)


1
投票

您的浏览器没有正确解释页面的编码(因为您已将其强制设置为特定设置,或者页面设置不正确,因此无法显示某些字符。


1
投票

这将与字符编码有关。


1
投票

Unicode或其他字符集字符掉线?


0
投票

检查镜像服务器发出的字符集。与主服务器之间似乎有所不同-实时站点似乎正在输出Unicode,而镜像没有。此外,通常最好将传入内容中的Unicode字符擦洗,并用适当的HTML实体替换它们。


0
投票

我通常会诅咒MS单词,然后运行以下Wscript。


0
投票

我遇到了这个问题,所以我只是拿走了我所有的内容,将其复制/粘贴到记事本中,制作了一个新的php文件,重新粘贴,重新保存和改写,并且..起作用了!确实是Microsoft Word编辑的遗物...

© www.soinside.com 2019 - 2024. All rights reserved.