[解決済み] ファイルの先頭からï "¿を削除するにはどうすればよいですか?
質問内容
で開くと正常に見えるCSSファイルがあります。 ゲディット しかし、PHP で読み込むと (すべての CSS ファイルをひとつにまとめるため)、この CSS には以下の文字が付加されます。ï "¿
PHPは空白をすべて削除するので、コードの途中にランダムなï "¿があると、全体がめちゃくちゃになります。先ほども言ったように、geditでファイルを開いたときにこれらの文字を実際に見ることができないので、簡単に削除することができません。
この問題をググってみると、明らかにファイルのエンコーディングに問題があるようです。これは、ファイルをftpでLinux/Windowsの異なるサーバーに移動させたり rsync 様々なテキストエディタを使用しています。文字コードについてはあまり詳しくないので、助けていただけると助かります。
このファイルはUTF-8形式で保存されていますが、geditはISO-8859-15形式での保存を許可しません(ドキュメントには指定された文字エンコーディングでエンコードできない文字が1つ以上含まれています)。WindowsとLinuxの改行コードで保存してみましたが、どちらもうまくいきませんでした。
解決方法は?
3つの言葉を贈ります。
これはISO-8859-1のUTF-8 BOMに対する表現です。 BOMを使わないようにエディタに指示するか、別のエディタを使ってBOMを除去する必要があります。
BOMの削除を自動化するには、次のようにします。
awk
にあるように
この質問
.
として
別の答えによると
を使用すると、PHP が BOM を正しく解釈できるようになります。
mb_internal_encoding()
を、このように。
<?php
//Storing the previous encoding in case you have some other piece
//of code sensitive to encoding and counting on the default value.
$previous_encoding = mb_internal_encoding();
//Set the encoding to UTF-8, so when reading files it ignores the BOM
mb_internal_encoding('UTF-8');
//Process the CSS files...
//Finally, return to the previous encoding
mb_internal_encoding($previous_encoding);
//Rest of the code...
?>
関連
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み】SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1064 SQL 構文にエラーがあります - PHP - PDO [重複]。
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] YouTube APIからYouTubeビデオのサムネイルを取得する方法を教えてください。
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] ずっとUTF-8
-
[解決済み] UTF-8とBOMなしUTF-8の違いは何ですか?
-
[解決済み] PHPでHTTPヘッダをUTF-8にする方法(W3C validatorで有効
-
[解決済み】PHPでUTF-8のCSVを出力して、Excelが正しく読めるようにするにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】++と*+の意味は何ですか?
-
[解決済み】PHP 7.2 - Warning: count(): パラメータは配列かCountableを実装したオブジェクトでなければならない [解決済み]
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み】「Fatal error: Class 'MySQLi' not found "を解決するには?
-
[解決済み】既に開始されているPHPセッション【重複あり
-
[解決済み] * vchiqインスタンスを開くのに失敗しました。
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
-
[解決済み] mysql_field_nameを新しいmysqliに変更します。
-
[解決済み] $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて