web-dev-qa-db-ja.com

PHPファイルに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に変更した場合は問題なく表示されますが、達成したいのはそうする必要がないことです。

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

また、ヘッダーを"text/plain"に設定すると、すべてのhtmlおよびphp(一部)が画面上の文字をHTMLではなくTEXTとして印刷することに注意してください。したがって、テキストタイプplainを使用する場合、HTMLが解析されない可能性があることに注意してください。

を使用して:

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

HTMLとPHPも返す。テキストだけでなく。

9
Larry Judd

デフォルトでは、PHPは常に次のヘッダーを返します: "Content-Type:text/html"(charsetがないことに注意してください)

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

データのエンコーディングを指定する必要があります。メタまたはヘッダーのいずれか

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

この方法で試してくださいheader('Content-Type: text/plain; charset=utf-8');

3
Intrepidd

HTMLファイル:

<head>

<meta charset="utf-8">

</head>

PHPファイル:

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