タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

PHPとUnicodeに関するniidomeのブックマーク (3)

  • PHPでUTF-8のBOMを削除する方法

    サイトではアフィリエイト広告を利用しています。記事内および商品リンクにはプロモーションが含まれる場合があります。 BOMありUTF-8の先頭データを削除するBOMありUTF-8ファイルを読み込んだ時に、何かと問題になる先頭BOMデータを削除する方法です。 Windowsのメモ帳にてUTF-8で保存した場合、BOMありUTF-8形式で保存されます。 UTF-8のファイル内の文字列読み込んで何らかの処理をする場合、BOMを含んだ状態で文字列を扱うと色々と問題が出てきます。 何か文字列処理で不具合が見つかったけど、原因がよくわからーん/(^o^)\ 突き詰めてみたらどうみてもBOMが原因です当にありがとうございました。 って経験、ありませんか? BOMを削除しても問題ない場合は、文字列から事前に削除しておくのが無難でしょう。 /** * 文字列からBOMデータを削除する * * @para

    PHPでUTF-8のBOMを削除する方法
  • UTF-8の冗長なエンコードとは何で、なんでそれがセキュリティ的に危ないのか?を文字コード知識レヴェル3くらいの凡プログラマが考えてみる - tohokuaikiのチラシの裏

    何故かあたり前にならない文字エンコーディングバリデーション | yohgaki's blog ってあるように、いまいち文字コードの不正な判定による危険性ってのが分かってない。 SJISの問題は、(2/3)SQLインジェクションを根絶!セキュア開発の極意 - 第5回■注目される文字コードのセキュリティ問題:ITproの記事がわかりやすかった。 というか、やっぱりPHP使ってると誰でも一度は「なんじゃこの『¥』は?」って思うもんなんで。 なるほど、確かに↓の図のように「あるバイト」が2つの意味を持つっていう文字コード形態はやばいんだなと。 EUC-JPはそんなことはしないで、1つのバイトには1つの意味しか取らせない。 だけど、これでも文字化けが起こることがある。経験的には、「マルチバイトをXX文字で切り落としたい」とかやった場合。ちゃんと文字コードを判定してくれるPHPでいえばmb_subst

  • ウノウラボ Unoh Labs: Mac OS X上のUnicode

    Firefoxは内部的に変換処理を行うようになっているようです。 問題はSafariとOperaですね。 選択されたファイルのパスからJavaScriptで ファイル名を抜き出してタイトルに設定する部分で、 正しく扱えるような文字コードに変換することにしたいと思います。 基的な流れとしては、UTF-8-MAC特有の「U+3099」(COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK)、 「U+309A」(COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK)がファイル名に含まれている場合は、 その前の文字と結合して濁音・半濁音の文字にしてあげればいいでしょう (ひらがな・カタカナのみの暫定的な対処に過ぎませんが)。 変換用の文字テーブルを用意して、逐一変換していくかたちにしたいと思います。 というわけ

  • 1