[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

mysqlとencodingに関するk_37toのブックマーク (2)

  • utf8_general_ci と utf8_unicode_ci の違い - Ceekz Logs (Move to y.ceek.jp)

    以前までは、データベース MySQL を利用したアプリケーションを作るときは、文字コードとして EUC-JP を利用していました。最近は、国際化との兼ね合いなどから UTF-8 を利用するようにしています。 MySQLUTF-8 を扱う場合、照会順序として utf8_bin を使用していました(何も考えずに)。 utf8_bin の場合、部分一致探索 LIKE などの使用時に英字の大文字小文字が区別されてしまう。大文字小文字を区別されないようにするためには、照会順序として utf8_general_ci を使用すればよいのですが、他にも utf8_unicode_ci があることに気がつきました。 utf8_general_ci と utf8_unicode_ci では、どこが違うのだろう? utf8_general_ci also is satisfactory for both

  • yohgaki's blog - これからのプログラムの作り方 - 文字エンコーディング検証は必須

    (Last Updated On: 2016年3月3日)最近PostgreSQLMySQL両方にSJISエンコーディングを利用している際のエスケープ方法の問題を修正がリリースされています。この件は単純に「データベースシステムにセキュリティ上の脆弱性があった」と言う問題ではなく「アプリケーションの作り方を変える必要性」を提起した問題です。 参考:セキュアなアプリケーションのアーキテクチャ – sandbox化 PostgreSQLMySQLの脆弱性は特にSJIS等、マルチバイト文字に\が含まれる文字エンコーディングが大きな影響を受けますが、同類の不正な文字エンコーディングを利用した攻撃方法が他の文字エンコーディングでも可能です。例えば、UTF-8エンコーディングは1文字を構成するバイト列の最初のバイトの何ビット目までが1であるか、を取得してUTF-8文字として1バイト~6バイト必要なのか

    yohgaki's blog - これからのプログラムの作り方 - 文字エンコーディング検証は必須
  • 1