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

Tom*_*ski 45 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
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

del*_*ist 99

header('Content-type: text/plain; charset=utf-8');
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的方法.顺便提一句,"Content-Type"通常是大写的.(这会有所不同吗?) (5认同)
  • 抱歉,这是一个 IIS 相关问题 - 有些人报告小写标头无法正常工作 (2认同)

小智 10

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

使用:

header('Content-type: text/html; charset=utf-8');
Run Code Online (Sandbox Code Playgroud)

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


Jan*_*aek 7

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

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


zer*_*kms 5

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

header('Content-Type: text/plain; charset=utf-8');
Run Code Online (Sandbox Code Playgroud)