
私は複数のサーバーを運用しています。1つは開発用、1つはクライアントテスト用、もう1つは本番用です。文字エンコードの問題があります(アクセント付き文字の代わりに古い「ひし形の疑問符」が表示されます)。しかし、1つこれらのサーバーのPHP ページは 3 つのサーバーすべてで同一であり、サーバーはすべて可能な限り同じように設定されています (Macports MAMP Mac Mini)。以下は、使用されているエンコーディングを示す最初の数行です。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Biography Generator</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
データベースは使用されていません。HTML と PHP だけです。はい、これは時代遅れの技術です。エンコードと HTML4 の決定はクライアントが行うのであって、私が行うのではありません。私はこれを機能させるだけです。サーバー構成の詳細で何が原因となっているのでしょうか?
答え1
これは php.ini ファイルで設定されていることが判明しました。変更する必要がありました:
default_charset = "UTF-8"
に:
default_charset = ""
行をコメントアウトしても問題は解決しませんでした。空の文字列に設定する必要がありました。