タグ

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

タグの絞り込みを解除

PHPとcharcodeに関するkenjiro_nのブックマーク (5)

  • 非公式 PHP 8.1のmbstringアップグレードガイド - てきとうなさいと。べぇたばん

    PHP 8.1へのアップグレードにまつわるまとめ PHP 8.1へのアップグレードには、mbstringにまつわるマニュアルに記述されない後方互換性のない変更が含まれることがあります。そのことを周知するべく、この記事を書くことにしました。 私てきめんは、PHPカンファレンス 2022にて、「治っていくmbstring 令和時代の文字化け」というタイトルでトークしています。以下スライドも参考にしてください。 Major overhaul of mbstringについて PHP 8.1から、Major overhaul of mbstringと呼ばれる、mbstringの大規模改修の内容が反映されるようになりました。困ったことに、RFC(Request For Comments)やChangelog、マニュアルにない内容で、mbstringを多用するPHPユーザーにとてつもない困惑をもたらすこ

    非公式 PHP 8.1のmbstringアップグレードガイド - てきとうなさいと。べぇたばん
  • PHP のマルチバイト関数標準化のための取り組み - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? PHP のマルチバイト関数の標準化について PHP Internals に質問および提案するために、調査したことおよび自分の意見をまとめました。 概要 このドキュメントでは標準関数の strlen、substr、chr、ord のマルチバイトの文字エンコーディング対応もしくはこれらに相当する新しい標準関数の導入について検討します。 取り組む目的は CMS、フレームワーク開発のための必要最小限の関数を提供することで、mbstring、iconv、intl への依存度を下げるもしくはこれらのモジュールのポリフィルライブラリが UTF-8

    PHP のマルチバイト関数標準化のための取り組み - Qiita
  • PHP での「全角のみ」チェックはこれでいいんじゃないの

    こんなのを書いたら PHP での半角文字チェックはこれでいいんじゃないの – 頭ん中 「わかるけど、それ何がうれしいの」 という感想が寄せられました。 「半角のみ」チェックを使う場面が思いつかないということで。 なので、これを基にして「全角のみ」チェックも作りました。 全角のみなら必要になることあると思うんですよ。 お問い合わせフォームの住所入力欄が全角縛りになっているときとか。 そもそも全角限定なんていう仕様をやめた方がいいとは思うんだけど、 知らないところでいつの間にかそういうことに決められていて どうにもこうにも変更はままならぬ、ということってありませんか。 文字列のすべての文字について それが半角かどうかをチェックして 半角が入っていたら false, 見事すべて全角と確認されたら true を返す。 半角判定に前掲の is_hankaku() を使っています。 ただ、繰り返します

    PHP での「全角のみ」チェックはこれでいいんじゃないの
  • PHP での半角文字チェックはこれでいいんじゃないの

    ある文字列が半角のみでできていること、 つまり全角文字が含まれていないこと、 を確認したいことがたまにある。 そのやり方としていろんな人がいろんなことを書いていて 正規表現を使うものが多いと思うんだけど、 こんなんでもいいんじゃないかな。 if (strlen($str) === mb_strlen($str)) { return true; } else { return false; } シングルバイト扱いでの長さとマルチバイト扱いでの長さが同じなら半角。 これに文字エンコーディングの指定や半角カナ、制御文字の扱いを含めたら こんな感じでしょうか。 半角カナを許可するなら $include_kana を true に。デフォルト値は false. 改行やタブなども許可するなら $include_controls を true に。デフォルト値は false. 入力文字列 $str の文

    PHP での半角文字チェックはこれでいいんじゃないの
  • ぼくがPDOを採用しなかったわけ(Shift_JISによるSQLインジェクション)

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2010年7月1日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり PHPのデータベース・アクセス・ライブラリPDOは、DB接続時の文字エンコーディング指定ができないため、文字エンコーディングの選択によっては、プレースホルダを使っていてもSQLインジェクション脆弱性が発生します。 追記(2011/06/19) ここに来て急にブクマが追加されはじめていますが、このエントリを書いてから状況が改善しています。PHP5.3.6(2011/03/17)にて、PDOでもデータベース接続の文字エンコーディングを指定できるようになりました。この版で、UNIX版のPHPでは解決しましたが、Win

    ぼくがPDOを採用しなかったわけ(Shift_JISによるSQLインジェクション)
  • 1