実現したいこと
以下のインサート文をエラー無しに実行したいのです。
発生している問題・分からないこと
例えば、je t'attendrai auの 「’ 」 が問題で、それを他の文字に置き換えれば動く事はわかります。
しかし、できればそのまま実行したいのです。
フランス語の場合に何かの設定を変えればいいのでしょうが、
検索しても、フランス語のエラーコードを出す記事しか見つかりません。
よろしくご指導ください。
該当のソースコード
Mysql
1INSERT INTO `memo` ( `user_id` , `memo` , `datatype`) VALUES ('kujira','Allô Sophie ? Oui, Allô, je serai en retard de quelques minutes. Quand je suis arrivé à la gare. Le train était déjà parti. Je suis désolé, pas de souci, je t'attendrai au guichet. Je serai en retard. Je suis arrivé à la gare. Le train. Déjà parti, je suis désolé, je t'attendrai. Allô, oui, Allô. Je serai en retard de quelques minutes. Quand je suis arrivé à la gare. Le train était déjà parti. Je suis désolé. Pas de souci, je t'attendrai au guichet. Qu'on doit Sophie nous faut que. Allô Sophie ? Oui, Allô ? Je serai en retard de quelques minutes. Quand je suis arrivé à la gare. Le train était déjà parti. Je suis désolé. Pas de souci. Je t'attendrai au guichet. ','text') ;
php
1$user_id="kujira"; 2$memo="Sophie ? Oui, Allô, je serai en retard de quelques minutes. Quand je suis arrivé à la gare. Le train était déjà parti. Je suis désolé, pas de souci, je t'attendrai au guichet. Je serai en retard. Je suis arrivé à la gare. Le train. Déjà parti, je suis désolé, je t'attendrai. Allô, oui, Allô. Je serai en retard de quelques minutes. Quand je suis arrivé à la gare. Le train était déjà parti. Je suis désolé. Pas de souci, je t'attendrai au guichet. Qu'on doit Sophie nous faut que. Allô Sophie ? Oui, Allô ? Je serai en retard de quelques minutes. Quand je suis arrivé à la gare. Le train était déjà parti. Je suis désolé. Pas de souci. Je t'attendrai au guichet. "; 3$datatype="text"; 4 5$sql1="INSERT INTO `memo` ( `user_id` , `memo` , `datatype`) VALUES ('".$user_id."','".$memo." ','".$datatype."') ;";
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
とりあえず。’ を ^ に置き換えて動かしました。
補足
MySQLサーバのバージョン: 5.5.62-log
フィールド 種別 照合順序 属性 ヌル(NULL) デフォルト値
memo text utf8_general_ci いいえ None
エスケープについて調べてみてはどうでしょうか
エスケープというと、” とか ’ に ¥をつけるやつでしょうか?
確かに、フランス語の場合に、別のルーチンに分岐し、
そこで、
’
を検出して、
エスケープするというのはアリだと思うのですが、
質問が不正確でしたね。
昔、UTF8 がなかった時(あったかもしれませんが私は知りませんでした)、
日本語の単語で、プログラムに不具合が出る時があったのですが
それに対処するようなイメージでしょうか?
フランス語圏のプログラマーはフランス語を今の日本語に対するUFT8みたいな使い方の
方法があれば知りたいという意味です。
すみません。専門用語を学ぶ機会がなかったもですから。
回答ありがとうございます。
質問が稚拙で情報不足だったことに気づきました。