タグ

utf-8とphpに関するAJYAのブックマーク (3)

  • PHPの SJISと SJIS-WINの違い

    SJIS-WINとは? PHPで文字コードとして「SJIS-WIN」を指定すると、Microsoftが拡張したShift_JISであるWindows-31Jが使われる。 Windows-31Jは、Microsoftが「JIS X 0208-1990」をベースに、NECとIBMの独自拡張文字の一部(一般的にはSJISの「機種依存文字」と呼ばれる?)を取り込んだ文字コード。 (参考:Microsoftコードページ932 - Wikipedia) SJISとSJIS-WINで何が違うの? SJIS-WINの方が文字が多い。 よく使うところでは、下記のような文字はSJISーWINにはあるがSJISにはない。 丸数字 (①②③...⑳)ローマ数字 (ⅠⅡⅢ...Ⅹ、ⅰⅱⅲ...ⅹ)カッコ付きの株 (㈱)はしご高[はしごたか] (髙)たつ崎[たつさき、たちさき] (﨑) SJIS-WINにはあるがSJ

  • PHPで UTF-8←→SJIS の変換を行う場合の注意:地方で活動するweb制作者の日々を綴るblog

    2007年03月01日03:25 カテゴリ技術-PHP PHPUTF-8←→SJIS の変換を行う場合の注意 php で文字コード変換をする場合は mb_convert_encoding("ほげほげ", "SJIS", "UTF-8")といった感じで変えられますが mb_convert_encoding("郄橋", "SJIS", "UTF-8")とやると文字化けします。 つまり、Shift-JISの拡張文字をUTF-8 (から|へ) 変換しようとすると化けるらしい。 拡張文字の代表としては「磲」とかも。 あとは「?????」のローマ数字の類もそう。 解決としては mb_convert_encoding("郄橋", "SJIS-win", "UTF-8")これだけ? って感じですが、これで問題なく変換できます。 これだけでなぜ通るのか、ちょっと調べたけれどよくわかりませんでした。 詳し

  • 日本語ファイル名

    まだよくわかっていないことが多いので,お気づきの点がありましたらご教示ください。 [2006-05-08] WindowsのIEで化けていた(^^;)ので直しました。 [2007-03-14] IE5/6はUTF-8をURLエンコードした名前でもOKだそうです(Thanks: 白水さん)。 問題点 日語ファイル名の扱い方はブラウザによって異なり,たいへん厄介です。 まず,ファイル名はURLのパスとして与えることができます: <a href="fakefile.php/日語ファイル名.txt">クリックしてね</a> この場合,ブラウザは「日語ファイル名.txt」というファイルを見ているつもりになりますが,サーバ側では fakefile.php を実行し,/日語ファイル名.txt はその実行の際に環境変数 PATH_INFO として渡されるだけです。 また,ファイル名はHTTPヘッダ

  • 1