如何为PHP文件设置UTF-8编码

时间:2011-02-20 11:12:50

标签: php api utf-8

我有一个名为:

的PHP脚本
  

http://cyber-flick.com/apiMorpho.php?method=getMorphoData&word=kot

以纯文本显示一些数据:

Cz��� mowy: rzeczownik
Przypadek: dope�niacz
Rodzaj: şe�ski
Liczba: mnoga

你可以看到代替适当的字符,所以有“灌木丛”。我想做的是以某种方式显示它,以便人们在浏览器中看到正确的UTF-8字符。

你可以将它封装在HMTL标签中并以元UTF-8编码设置,但由于从这个脚本收到的数据将被进一步处理我不想使用任何HTML标签,它应该只是纯文本结果集

那么有没有办法通知浏览器这个文件是UTF-8而不使用元标记?

PS。文件以UTF-8编码,如果我手动将浏览器中的字符集编码更改为UTF-8,则显示正常,但我想要完成的是人们不需要这样做。

7 个答案:

答案 0 :(得分:93)

header('Content-type: text/plain; charset=utf-8');

答案 1 :(得分:10)

另请注意,将标题设置为"text/plain"将导致所有html和php(部分)将字符在屏幕上打印为TEXT,而不是HTML。因此,请注意在使用文本类型plain时可能的HTML无法解析。

使用:

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

也可以返回HTML和PHP。不只是文字。

答案 2 :(得分:8)

PHP默认情况下总是返回以下标题:“Content-Type:text / html”(注意没有字符集),因此必须使用

<?php header('Content-type: text/plain; charset=utf-8'); ?>

答案 3 :(得分:4)

您必须指定数据的编码方式。在元或标题中

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

答案 4 :(得分:4)

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

答案 5 :(得分:2)

HTML文件:

<head>

<meta charset="utf-8">

</head>

PHP文件:

<?php header('Content-type: text/plain; charset=utf-8'); ?>

答案 6 :(得分:1)

HTML:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="x" content="xx" />

vs Php:

<?php header('Content-type: text/html; charset=ISO-8859-1'); ?>
<!DOCTYPE HTML>
<html>
<head>
<meta name="x" content="xx" />