我正在尝试使用这个embed
PHP包(https://github.com/oscarotero/Embed/)。但是,当我尝试使用具有亚洲语言(如 URL https://zh.wikipedia.org/wiki/亞馬遜公司)的所有页面的变量$info->title
显示Title
显示时,这会将我%E4%BA%9E%E9%A6%AC%E9%81%9C%E5%85%AC%E5%8F%B8
title
而不是作为真正的标题亞馬遜公司
。
为什么显示一个难以理解的字符,例如:%E4%BA%9E%E9%A6%AC%E9%81%9C%E5%85%AC%E5%8F%B8
而不是亞馬遜公司
? ??那么如何让我的$info->title
变量按原样显示:亞馬遜公司
???
谢谢你,请帮助我。
您可以解码字符串。也许图书馆没有。
$title = '%E4%BA%9E%E9%A6%AC%E9%81%9C%E5%85%AC%E5%8F%B8';
var_dump(rawurldecode($title));
将打印
string(15) "亞馬遜公司"
您应该在文件中的任何输出之前包含这样的标头:<?php header('Content-type: text/html; charset=UTF-8'); ?>
.
此外,如果要从数据库获取数据,则需要确保将其编码并从数据库中检索为 UTF8。
如果要输出 HTML,则需要在<head>
中包含嵌套的以下元素:<meta charset="utf-8" />
.您可能还希望使用<html>
元素上的lang
属性声明语言。
您向我们展示的 zh.wikipedia URL 是 URL 编码的。要在页面上显示它,您必须对其进行 URL 解码,然后在回显它或以其他方式将其发送到浏览器之前对其进行 HTML 编码。
$displayableTitle = htmlentities(
urldecode( '%E4%BA%9E%E9%A6%AC%E9%81%9C%E5%85%AC%E5%8F%B8' ) );