Ticket #488 (new バグ指摘) — at Initial Version

Opened 17 years ago

Last modified 13 years ago

POSTされる値とDBの文字コードが一致しない場合、DBエラーとなる

Reported by: kishida Owned by: somebody
Priority: Milestone: EC-CUBE2.11.0
Component: フロント Version: 2.4.0
Keywords: Cc: Seasoft
修正済み: yes

Description

POSTする時にブラウザの文字コードを、 ECCUBEで指定した文字コード以外を設定しPOSTした場合、 文字コードのチェックを行っていない為、 DBで下記のようなエラーが起こる場合がある。 (※POSTされる値によってエラーとなる場合がある)

[nativecode=ERROR: invalid byte sequence for encoding "EUC_JP": 0x8250 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".]

[解決策] 検索語がUTF-8じゃなかったら、強制的にUTF-8にする $encode = mb_detect_encoding($_POSTname?); if( CHAR_CODE != $encode ){

$name = mb_convert_encoding($_POSTname?, "UTF-8", "auto");

}

Note: See TracTickets for help on using tickets.