我正在按照本教程将google maps实现到我的网页中:

https://developers.google.com/maps/articles/phpsqlajax_v3#createtable

通过数据库连接,一切都变得完美。 我的数据库中的信息包含诸如“á,é,í”之类的字符

当我尝试在浏览器中检查XML文件时,出现此错误:

此页面包含以下错误:

第1行第10列的错误:编码错误下面是直到第一个错误的页面呈现。

在地图上,数据显示为:波哥大。 哥伦比亚首都。 而不是:波哥大。

感谢您的建议!

#1楼 票数:2 已采纳

通过数据库连接,一切都变得完美。 我的数据库中的信息包含诸如“á,é,í”之类的字符

请注意以下小细节:

一方面你写

通过数据库连接,一切都变得完美。

另一方面,您编写:

我的数据库中的信息包含诸如“á,é,í”之类的字符

所以我想在这里显示的是数据库连接不是数据库:

[PHP code] <--- database connection ---> [database server]-+-[data]

数据库连接是服务器与程序之间的数据流协商。

编码是元信息,无论您在哪里传递数据(字符串),有关编码的这种元信息都是对还是错。

错误时,这可能会导致意外结果。 像您体验的结果:

波哥大。 哥伦比亚首都。

(而不是“波哥大。哥伦比亚首都。”

根据经验,我可以告诉您有关此大图的以下内容:

  1. 浏览器给您的字符是一个迹象,表明它捕获了一个二进制序列的数据,这些数据无法构成有效的代码点(简称为字母),并很好地显示了该字母。 相反,它在菱形中显示问号以表示问题。
  2. 这表明Unicode编码是预期的,没有给出。
  3. 根据经验,您将输入一个单字节字符集为UTF-8。

可能有多种原因。

因此,让我们记住我上面写的关于数据本身旁边的元数据的内容,并回顾一下数据库连接:

[PHP code] <--- database connection ---> [database server]-+-[data]

最重要的是:数据库连接使您可以像PHP代码的程序员一样告诉数据库所需的编码。

然后,当您从数据库服务器请求数据时,数据库服务器会查看它拥有的数据,并且它将以您要求的编码方式对数据进行编码。 那不是很好吗?

因此,您需要做的就是告诉数据库服务器您希望使用哪种字符编码。

为此,您需要知道响应将使用哪种字符编码。 这是当今网络上最常见的UTF-8。 因此,告诉您的数据库服务器您想要UTF-8。 一切都应该没问题:

编辑:并且看到您的评论:不,您在其中不必要地添加了utf8_encode调用。 数据库可以为您提供已经正确编码的数据(并且始终正确)。 utf8_encode 适用于Latin-1编码的字符串,如果您的数据与数据库中的数据不同,它将失败。 不必过于具体,而只需为数据库连接使用正确的参数即可,因为您知道所需的编码方式,因此您不必担心太多事情。

重要原则:尽可能索要所需的东西,而不要自己创建。

  ask by Seph1603 translate from so

未解决问题?本站智能推荐:

1回复

PHP中的UTF-8编码xml

我正在尝试使用PHP输出XML,当我在Firefox中查看页面源时,一切似乎都很好。 但是,页面本身无法正常显示。 在Firefox中,当它显示格式正确的XML时,它通常会在页面顶部显示: ..然后它显示了xml树。 但是,我只是获取xml标签中的字符,而没有树。 我
1回复

将数据编码为UTF-8

我从XMLWriter生成的XML文件中收到编码错误。 但是,我确信可以通过将数据从当前的任何编码转换为UTF-8编码来解决此错误。 如果您能告诉我该怎么做,我将不胜感激。 错误是 第2行第721列的代码是<street>Mall CafÈ</street
1回复

无法在PHP中解码UTF8?

我每3/10/60分钟从在线供稿器获取XML供稿。 我使用SimpleXML解析提要 最后,我将其存储到数据库并从html上的db获取。 现在,我确定问题不在数据库和提要中,因为当我手动尝试使用同一张表时,它会接受UTF8字符 我从提要中解析xml并将其存储到数据库时,
1回复

如何在PHP中读取utf-8编码的XML文件?

代码运行正常,正在从XML文件获取值,并生成这些值的形式。 我在XML标签中添加了encoding =“ UTF-8”。 并且它给出以下警告和错误。 谢谢你
2回复

如何使用simpleXML解析PHP中utf-8以外的xml文件?

我在PHP中使用simpleXML来获取xml文件。 事实是xml文件的编码不在utf-8中。 它在euc-kr中。 因此,如果我使用simpleXML来获取数据,则非英语的文本只会崩溃。 (但是它可以正确打印结构和所有内容……只是韩文崩溃时的那个文本)反正我可以为simpleXM
1回复

使用UTF-8在PHP中打开XML文件时出错

在我的页面中,我尝试打开一些xml文件: 问题是$f->name可以包含带有重音符号的元音字符,因此打开文件时会出错。 例如,它代替García,而是显示GarcÃa。 我该如何解决? (我已经尝试过utf8_encode($f->name) )
2回复

PHP生成的XML文件中的编码错误

我已经使用DOMDocument类在PHP中生成了一个XML文件,该数据是从MySQL数据库中获取的。 许多数据包含HTML标记,但是我已经将所有数据都包含在CDATA部分中。 最初,该文件存在很多编码错误,但是在将其放入文件之前,通过utf8_encode()运行所有内容似乎已经解决了
3回复

使用PHP / Mysql的UTF-8,XML和htmlentities

我在网络上发现了很多与此主题相关的信息,因此我希望有人可以帮助我解决以下问题: 我需要一个函数来清洗字符串,以便可以安全地插入utf-8 mysql数据库或写入utf-8 XML文件。 无法删除不能转换为utf-8的字符。 为了写入XML文件,我还遇到了将html实体转换为数字实体