【问题标题】:foreign characters not showing PHP外来字符不显示 PHP
【发布时间】:2014-07-18 00:20:42
【问题描述】:

我在名为 Name 的数据库中有一个列,我正在此列上执行 echo() 以显示值(简单知识)

在 mySQL 行上执行 var_dump 时,显示如下

["Name"]=> string(10) "Marko Baša"

如果我继续执行echo $Name,我会看到以下内容

Marko Baa

但是,如果我继续做一个utf8_encode arround 它,它看起来会好一点

Marko Baša

我怎样才能让它像这样显示

Marko Basa

【问题讨论】:

标签: php


【解决方案1】:

使用iconv音译:

echo iconv('UTF-8', 'ASCII//TRANSLIT', 'Marko Baša');

【讨论】:

  • 用那个的时候什么都不显示?
  • 用您的实际字符集替换UTF-8?它对我有用,但我的脚本实际上保存在 UTF-8 中。或者,您可以在将字符串传递给 iconv 之前将其 utf8_encode (查看文档,似乎从 ISO-8859-1 转换而来)。
【解决方案2】:

在 HTML 中设置您的字符集:

<head>
<meta charset="UTF-8">
</head>

默认情况下,浏览器显然不会将您的页面解释为 UTF-8。

【讨论】:

  • 这是直接来自PHP(一个脚本),没有HTML解析
  • 在命令行上?哎呀 - 没有注意到最后一个例子中缺少的重音......
【解决方案3】:

你可以试试:

header('Content-Type: text/html; charset=utf-8');

【讨论】:

  • @KateGregory 它的工作原理与&lt;meta charset="UTF-8"&gt; 基本相同 - 并且由于完全相同的原因无法回答这个问题。
猜你喜欢
  • 2013-11-11
  • 1970-01-01
  • 2017-02-09
  • 2015-11-26
  • 1970-01-01
  • 1970-01-01
  • 2019-07-15
  • 2011-10-16
  • 1970-01-01
相关资源
最近更新 更多