
No.2ベストアンサー
- 回答日時:
「なでしこ」ですか、、、プリペアドステートメント-プレースホルダーにも対応していないのかな?
>データベース内で明らかに存在するのに検索できない
エスケープ処理よりも、文字コードの問題が大きいような気がします。
SQLiteは、SQL文内の文字列として解釈できれば、基本どんなバイナリーデータもそのまま受け入れてしまうのですけど、検索やソートの時に、sjis やeucでは、バイト列がずれてマッチしたりしてうまくいきません。
SQLite3 なら、utf-8には対応してるので、utf-8でなら概ねうまく検索されます。
「なでしこ」でどの文字コードが使われているのか解りませんが、utf-8で保存し、検索時のデータ指定もutf-8でSQL文を構築、取り出し後、表示用の文字コードに変換という手順が必要です。
エスケープ処理について、phpマニュアルでの、sqlite_ecsape_string() 関数(SQLite2用)の説明によれば、文字列データのくくりは、シングルクオート(')の方を使うようにし、データ内のシングルクオート(')は2重にしてるようです。たしか標準SQL規格準拠の動作。
そのほかのバイナリー文字は、たぶん バックスラッシュ(\ 0x5c) を付加かな。
でも、SQLite3では、プリペアドステートメント推奨となっています。
この回答へのお礼
お礼日時:2012/01/30 20:18
回答を元に色々調べて試してみましたが
なでしこ側の文字コードの問題があるようで、データベース検索処理の部分を別の言語で処理するようにいたしました。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MS-Accessのエクスポートで異常...
-
データマイニングに有効なAPI
-
サーバーにおいてあるデータベ...
-
データベース用の画像付きデー...
-
ACCESSのデータをWebブラウザで...
-
エクセルのフィルタ抽出が固まる
-
accessの処理が遅い
-
postgresql についてです
-
接続されてるユーザーを切断す...
-
mdfファイルの残骸について
-
PCが悪くなって新しいPCにSSMS...
-
BACKUP DATABASE とINSERTが同...
-
CD 正規品と焼いた物の見分...
-
SQL Server 2008, Oracle 11gは...
-
マスタメンテとは?
-
アドレスを移行したい .VCFデー...
-
復元時間:復元しています
-
テキストで空欄(null?)を検索...
-
ACCESSのデータの共用ができない
-
警察はスマホに保存した動画や...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MS-Accessのエクスポートで異常...
-
ACCESSのデータをWebブラウザで...
-
1回目の実行に3分、2回目の実行...
-
Sqliteで使えない文字。
-
ELSE先の条件に引っかからない
-
SQL文で、重複データの上書きは...
-
yahoo gooなどの検索の仕組み...
-
ACOSのRDBについて教え...
-
大規模データ検索結果の検証方法
-
SQL ServerにExcelをリンクさせ...
-
コミット前のデータの退避場所
-
データベースについて
-
SQLSERVERのテーブルにデータを...
-
業務用のデータベースサーバー...
-
PL/SQLで複数のFor文を解除したい
-
DB2 双方向でのレプリケーショ...
-
oracleデータベースの更新履歴
-
テストデータの作成
-
accessの上限容量2Gでは容量が...
-
データベース側で100万とか1000...
おすすめ情報