PHPstr_replaceが特別な文字で機能しない

ラキッドO

なぜこれが期待どおりに機能しないのですか?

 echo str_replace("é","é","Fédération Camerounaise de Football");

結果:

"Fédération Camerounaise de Football"

私は持っていることを期待しています:

"Fédération Camerounaise de Football"
ヘブンナード

それは間違っている。この文字列は正しくなく、置き換える必要があります。UTF-8でエンコードされているだけです。

あなたがしなければならないのはutf8_decode('Fédération Camerounaise de Football')です。

更新:

Fédération Camerounaise de FootballUTF-8でデータを二重に渡しているため、出力として表示されいます。

観察する:

file1.phpをUTF-8形式で保存:

<?php
    echo "Fédération Camerounaise de Football";

出力:

カメルーンサッカー連盟

ここで、ブラウザにUTF-8を使用していることを伝えると、コンテンツがまっすぐに表示されます。

file2.phpをUTF-8形式で保存:

<?php
    header('Content-Type: text/html; charset=utf-8');
    echo "Fédération Camerounaise de Football";

出力:

カメルーンサッカー連盟

完璧です。

しかし、あなたはさらに悪いことをしている。UTF-8でエンコードされた文字列があり、UTF-8でエンコードされたファイルに書き込むことで再度エンコードしています。

file3.phpをUTF-8形式で保存:

<?php
    echo "Fédération Camerounaise de Football";

出力:

カメルーンサッカー連盟

なんてめちゃくちゃ。これをstr_replace次のように修正できるかどうかを確認して、さらに悪化させましょう

file4.phpをUTF-8形式で保存:

<?php
    echo str_replace("é","é","Fédération Camerounaise de Football");

出力:

カメルーンサッカー連盟

ご覧のとおり、「修正」しました。ある種。それがあなたがしていることです。あなたは、変換されているééあなたのエディタでは、エンコーディングの背後にある本当のシンボルが表示させませんので、あなたがこれを見ていなくても、しかし、ブラウザがありません

ASCIIでこれをもう一度試してみましょう:

ASCII形式で保存されたfile5.php:

<?php
    echo str_replace("é","é","Fédération Camerounaise de Football");

出力:

カメルーンサッカー連盟

魔法!ブラウザは今すべてを取得しました。しかし、本当の解決策は何ですか?上手。PHPファイルに文字列がハードコードされている場合は、Fédération Camerounaise de Footballひどいことを間違えるのではなく、単に書く必要がありますただし、別のファイルまたはデータベースからフェッチする場合は、次の2つのコースのいずれかを受講する必要があります。

  1. utf8_decode()フェッチしたデータを目的の出力に変換するために使用します。

  2. 何も変換せずheader('Content-Type: text/html; charset=utf-8');、UTF-8形式でコンテンツを印刷していることをブラウザに通知するために使用しないでください。これにより、正しく表示されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHPstr_replaceが2回使用された場合に機能しない

分類Dev

一致しない文字列内のテキストを置き換えるPHPstr_replace

分類Dev

最初のインスタンスで異なるPHPstr_replace

分類Dev

データの配列で$ ampを使用するPHPstr_replaceの奇妙な動作

分類Dev

str_replaceがPHP文字列で機能しない

分類Dev

特別なキー入力が機能しない(Enter、Backspace、Tabなど)

分類Dev

.replaceがJavascriptで\ n機能しない

分類Dev

文字列の一致は、特別な文字「/」では機能しません

分類Dev

特権の付与が機能しない

分類Dev

Swift:特別な機能のない文字列からintへ

分類Dev

TypeScriptでの型推論が、特別なユースケースで期待どおりに機能しない

分類Dev

Hibernate- @ Transactionalが機能しない特別な理由はありますか?

分類Dev

単純なjQuery ".replace()"文字列が正規表現で機能しない

分類Dev

文字列replaceAllが$で機能しない

分類Dev

文字列replaceAllが$で機能しない

分類Dev

preg_replaceが一部の単語/文字で機能しない

分類Dev

大文字と小文字を区別しない正規表現マッチングがPerlで機能しない

分類Dev

大文字と小文字を区別しないシェルコマンドがPHPExecで機能しない

分類Dev

PHPpreg_replace奇数文字が機能しない

分類Dev

sedコマンドが特別な文字で理解できない

分類Dev

特権のないping6が機能しない

分類Dev

特権のないping6が機能しない

分類Dev

大文字化機能がVisualStudio 2013(C ++)で機能しない

分類Dev

等しくないoperator(!=)がPython文字列比較で機能しない

分類Dev

String.replaceが機能しないのはなぜですか?

分類Dev

replace()関数が機能しないのはなぜですか?

分類Dev

特別な文字が原因でSOAP応答を読み取るのが難しい

分類Dev

このパイプコマンドがこの特別なbashスクリプトで機能しないのはなぜですか?

分類Dev

Netbeansのバグ、印刷できない文字が機能しない

Related 関連記事

  1. 1

    PHPstr_replaceが2回使用された場合に機能しない

  2. 2

    一致しない文字列内のテキストを置き換えるPHPstr_replace

  3. 3

    最初のインスタンスで異なるPHPstr_replace

  4. 4

    データの配列で$ ampを使用するPHPstr_replaceの奇妙な動作

  5. 5

    str_replaceがPHP文字列で機能しない

  6. 6

    特別なキー入力が機能しない(Enter、Backspace、Tabなど)

  7. 7

    .replaceがJavascriptで\ n機能しない

  8. 8

    文字列の一致は、特別な文字「/」では機能しません

  9. 9

    特権の付与が機能しない

  10. 10

    Swift:特別な機能のない文字列からintへ

  11. 11

    TypeScriptでの型推論が、特別なユースケースで期待どおりに機能しない

  12. 12

    Hibernate- @ Transactionalが機能しない特別な理由はありますか?

  13. 13

    単純なjQuery ".replace()"文字列が正規表現で機能しない

  14. 14

    文字列replaceAllが$で機能しない

  15. 15

    文字列replaceAllが$で機能しない

  16. 16

    preg_replaceが一部の単語/文字で機能しない

  17. 17

    大文字と小文字を区別しない正規表現マッチングがPerlで機能しない

  18. 18

    大文字と小文字を区別しないシェルコマンドがPHPExecで機能しない

  19. 19

    PHPpreg_replace奇数文字が機能しない

  20. 20

    sedコマンドが特別な文字で理解できない

  21. 21

    特権のないping6が機能しない

  22. 22

    特権のないping6が機能しない

  23. 23

    大文字化機能がVisualStudio 2013(C ++)で機能しない

  24. 24

    等しくないoperator(!=)がPython文字列比較で機能しない

  25. 25

    String.replaceが機能しないのはなぜですか?

  26. 26

    replace()関数が機能しないのはなぜですか?

  27. 27

    特別な文字が原因でSOAP応答を読み取るのが難しい

  28. 28

    このパイプコマンドがこの特別なbashスクリプトで機能しないのはなぜですか?

  29. 29

    Netbeansのバグ、印刷できない文字が機能しない

ホットタグ

アーカイブ