ドレミファソ
噂
詐欺
圭介
機構
蚕
十
申告
貼り付け
能力
表現
饅頭
はShift-JISのPHPで文字化けする可能性があるので注意!!
文字コードで末尾が5Cになっている文字は文字化けを起こします。
Shift-JISでは5Cは『\』を表すためです。
これがエスケープ文字とされたりすることでエラーが起こる。
例えば以下の場合でも…
<?echo "ソ";?>
エラー
Parse error: syntax error, unexpected $end in /public_html/test.php on line 1
―ソ噂欺圭構蚕十申貼能表饅
よく使うもので上記のものがあります。
エラーが起こるケースと対処
""の末に、この文字が来るとき
対処法(1)
"ソ¥"
対処法(2)
str_replace(" ","","ソ ")
にするとか(ソの後に半角スペースが入っています)
フォームのPOSTやGETでこの文字を含む場合
magic_quotes_gpc = Onだと自動エスケープなのでOffにして
変換後 = addslashes("対象文字");
またはOnで
変換後 = stripslashes("対象文字");
.htaccessでは
Onは
php_value "magic_quotes_gpc" "1"
Offは
php_value "magic_quotes_gpc" "0"
単純にShift-JISを使わないとか…
PHPのShift-JISで文字化けを起こす文字コードの一覧と文字の一覧
コード | 字 | コード | 字 | コード | 字 | コード | 字 | コード | 字 | コード | 字 | コード | 字 | コード | 字 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
%00%5c | \ | %20%5c | \ | %40%5c | @\ | %60%5c | `\ | %80%5c | \ | %a0%5c | \ | %c0%5c | タ\ | %e0%5c | 濬 |
%01%5c | \ | %21%5c | !\ | %41%5c | A\ | %61%5c | a\ | %81%5c | ― | %a1%5c | 。\ | %c1%5c | チ\ | %e1%5c | 畚 |
%02%5c | \ | %22%5c | "\ | %42%5c | B\ | %62%5c | b\ | %82%5c | ・ | %a2%5c | 「\ | %c2%5c | ツ\ | %e2%5c | 秉 |
%03%5c | \ | %23%5c | #\ | %43%5c | C\ | %63%5c | c\ | %83%5c | ソ | %a3%5c | 」\ | %c3%5c | テ\ | %e3%5c | 綵 |
%04%5c | \ | %24%5c | $\ | %44%5c | D\ | %64%5c | d\ | %84%5c | Ы | %a4%5c | 、\ | %c4%5c | ト\ | %e4%5c | 臀 |
%05%5c | \ | %25%5c | %\ | %45%5c | E\ | %65%5c | e\ | %85%5c | ・ | %a5%5c | ・\ | %c5%5c | ナ\ | %e5%5c | 藹 |
%06%5c | \ | %26%5c | &\ | %46%5c | F\ | %66%5c | f\ | %86%5c | ・ | %a6%5c | ヲ\ | %c6%5c | ニ\ | %e6%5c | 觸 |
%07%5c | \ | %27%5c | '\ | %47%5c | G\ | %67%5c | g\ | %87%5c | \ | %a7%5c | ァ\ | %c7%5c | ヌ\ | %e7%5c | 軆 |
%08%5c | \ | %28%5c | (\ | %48%5c | H\ | %68%5c | h\ | %88%5c | ・ | %a8%5c | ィ\ | %c8%5c | ネ\ | %e8%5c | 鐔 |
%09%5c | \ | %29%5c | )\ | %49%5c | I\ | %69%5c | i\ | %89%5c | 噂 | %a9%5c | ゥ\ | %c9%5c | ノ\ | %e9%5c | 饅 |
%0a%5c | \ | %2a%5c | *\ | %4a%5c | J\ | %6a%5c | j\ | %8a%5c | 浬 | %aa%5c | ェ\ | %ca%5c | ハ\ | %ea%5c | 鷭 |
%0b%5c | \ | %2b%5c | +\ | %4b%5c | K\ | %6b%5c | k\ | %8b%5c | 欺 | %ab%5c | ォ\ | %cb%5c | ヒ\ | %eb%5c | ・ |
%0c%5c | \ | %2c%5c | ,\ | %4c%5c | L\ | %6c%5c | l\ | %8c%5c | 圭 | %ac%5c | ャ\ | %cc%5c | フ\ | %ec%5c | ・ |
%0d%5c | \ | %2d%5c | -\ | %4d%5c | M\ | %6d%5c | m\ | %8d%5c | 構 | %ad%5c | ュ\ | %cd%5c | ヘ\ | %ed%5c | x |
%0e%5c | \ | %2e%5c | .\ | %4e%5c | N\ | %6e%5c | n\ | %8e%5c | 蚕 | %ae%5c | ョ\ | %ce%5c | ホ\ | %ee%5c | x |
%0f%5c | \ | %2f%5c | /\ | %4f%5c | O\ | %6f%5c | o\ | %8f%5c | 十 | %af%5c | ッ\ | %cf%5c | マ\ | %ef%5c | ・ |
%10%5c | \ | %30%5c | 0\ | %50%5c | P\ | %70%5c | p\ | %90%5c | 申 | %b0%5c | ー\ | %d0%5c | ミ\ | %f0%5c | \ |
%11%5c | \ | %31%5c | 1\ | %51%5c | Q\ | %71%5c | q\ | %91%5c | 曾 | %b1%5c | ア\ | %d1%5c | ム\ | %f1%5c | \ |
%12%5c | \ | %32%5c | 2\ | %52%5c | R\ | %72%5c | r\ | %92%5c | 箪 | %b2%5c | イ\ | %d2%5c | メ\ | %f2%5c | \ |
%13%5c | \ | %33%5c | 3\ | %53%5c | S\ | %73%5c | s\ | %93%5c | 貼 | %b3%5c | ウ\ | %d3%5c | モ\ | %f3%5c | \ |
%14%5c | \ | %34%5c | 4\ | %54%5c | T\ | %74%5c | t\ | %94%5c | 能 | %b4%5c | エ\ | %d4%5c | ヤ\ | %f4%5c | \ |
%15%5c | \ | %35%5c | 5\ | %55%5c | U\ | %75%5c | u\ | %95%5c | 表 | %b5%5c | オ\ | %d5%5c | ユ\ | %f5%5c | \ |
%16%5c | \ | %36%5c | 6\ | %56%5c | V\ | %76%5c | v\ | %96%5c | 暴 | %b6%5c | カ\ | %d6%5c | ヨ\ | %f6%5c | \ |
%17%5c | \ | %37%5c | 7\ | %57%5c | W\ | %77%5c | w\ | %97%5c | 予 | %b7%5c | キ\ | %d7%5c | ラ\ | %f7%5c | \ |
%18%5c | \ | %38%5c | 8\ | %58%5c | X\ | %78%5c | x\ | %98%5c | 禄 | %b8%5c | ク\ | %d8%5c | リ\ | %f8%5c | \ |
%19%5c | \ | %39%5c | 9\ | %59%5c | Y\ | %79%5c | y\ | %99%5c | 兔 | %b9%5c | ケ\ | %d9%5c | ル\ | %f9%5c | \ |
%1a%5c | \ | %3a%5c | :\ | %5a%5c | Z\ | %7a%5c | z\ | %9a%5c | 喀 | %ba%5c | コ\ | %da%5c | レ\ | %fa%5c | \ |
%1b%5c | \ | %3b%5c | ;\ | %5b%5c | [\ | %7b%5c | {\ | %9b%5c | 媾 | %bb%5c | サ\ | %db%5c | ロ\ | %fb%5c | \ |
%1c%5c | \ | %3c%5c | <\ | %5c%5c | \\ | %7c%5c | |\ | %9c%5c | 彌 | %bc%5c | シ\ | %dc%5c | ワ\ | %fc%5c | ・ |
%1d%5c | \ | %3d%5c | =\ | %5d%5c | ]\ | %7d%5c | }\ | %9d%5c | 拿 | %bd%5c | ス\ | %dd%5c | ン\ | %fd%5c | \ |
%1e%5c | \ | %3e%5c | >\ | %5e%5c | ^\ | %7e%5c | ~\ | %9e%5c | 杤 | %be%5c | セ\ | %de%5c | ゙\ | %fe%5c | \ |
%1f%5c | \ | %3f%5c | ?\ | %5f%5c | _\ | %7f%5c | \ | %9f%5c | 歃 | %bf%5c | ソ\ | %df%5c | ゚\ | %ff%5c | \ |
"ソ"なんて音楽系で使いそうなんで文字化けに気をつけないと
ブルキナファソ(Burkina Faso)ってレアな国名で初めて引っかかっちゃっいました。
htmlspecialcharで
♥ハートとかも…
〜【〜の逆〜】も『&』がエスケープされちゃうのです。
Shift-JISだと表示できないけどね
EUCとかは注意
ちなみに
〜は『全角チルダ』
〜『ウェーブダッシュ[〜]』
mb関係で文字化けするんです。
.htaccessで
php_value "output_buffering" "Off"
php_value "default_charset" "Shift_JIS"
php_value "output_handler" "none"
php_value "mbstring.language" "Japanese"
php_value "mbstring.internal_encoding" "SJIS"
php_value "mbstring.http_input" "auto"
php_value "mbstring.http_output" "SJIS"
php_value "mbstring.encoding_translation" "off"
php_value "mbstring.substitute_character" "none"
php_value "mbstring.substitute_character" "none"
ア奧^ムメモヤユヨラリルレロワン゙゚瓔磊糺脯蕘襠踴鍄顯鵆 @ABCDEFGHIJK