
言語がPHP(SJIS)でDBがMySQL(Unicode)の環境で運用しているページがあるのですが、文字コードの変換で謎が謎を呼び始めたので質問します。
(1)フォームからの保存で「ソ」の文字を保存するとDB上で「ソ\」になります。
→コード変換ミス(5c=\)で理解しました。
(2)「ソ\」で保存されたデータをフォームに呼び出すと「ソ\」と表示される。
→UTF8で「5C=\」だから??
(3)上記を回避したくPHPでstripslashesを追加してみると、「ソ」の表示が「メ」になってしまっている。
なぜこうなるのか??回避できないのか??
という点で不思議と謎につつまれているのですが、コメントお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
自分も先日、同じような問題に遭遇しました。
接続直後に
mysql_query("SET NAMES binary");
を一行加えることで解決すると思います。
SJISの文字列をバイナリのデータとしてMySQLに渡します。
クエリ生成の段階でmysql_read_escape_string()などの関数できちんとエスケープしていれば、SQLインジェクションの問題は防げると思います。
この回答への補足
ありがとうございます。
mysql_query("SET NAMES binary")
ですが、DB接続後にすでに
mysql_query("SET NAMES sjis")
の記述があり、それを変更すると全ての文字が文字化けし、
追加するとエラーが発生します。
この場合どのように考えて処置すればいいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- PHP PHP ページング データベース 1 2022/06/16 10:30
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EBCDIC⇒SJIS変換の方法
-
2バイト文字をJEFからSJISに変...
-
セル内の文字列が日本語か英語...
-
std::stringからLPCWSTR型への変換
-
英数字を含む文字列(0-9,A-Z)...
-
改行コード変換のタイミングに...
-
「髙(はしごたか)」を文字コー...
-
VB6.0のコードエディタでの改行...
-
mb_conver_encoding()の挙動
-
VBでIMEの変換文字列を拾いたい
-
RubyでUTF8のコード値を文字に...
-
数値のパック10進数の変換に...
-
お世話になります。
-
sedで日本語の置換方法について
-
画像データ(png)をcsvファイル...
-
C#でバイナリデータをテキスト...
-
Symfowareでのデータ型変換につ...
-
ふりがなをアルファベット化す...
-
latin-1 (ISO-8859-1)への変換
-
ヘキサコードとバイナリについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EBCDIC⇒SJIS変換の方法
-
セル内の文字列が日本語か英語...
-
std::stringからLPCWSTR型への変換
-
ふりがなをアルファベット化す...
-
「彡」って文字はなんという文...
-
VS 2008(VB.NET)
-
フォームのコントロールのバッ...
-
ExcelVBA実行後に時々落ちる
-
sedで日本語の置換方法について
-
COBOLによる全角・半角混...
-
Excelマクロにて30分単位の計算...
-
Symfowareでのデータ型変換につ...
-
2バイト文字をJEFからSJISに変...
-
「髙(はしごたか)」を文字コー...
-
S-JIS → JIS コード変換するには
-
%fと%gについて
-
PL/SQLでSJISの文字コードを取...
-
JIS → S-JIS コード変換するには
-
RubyでUTF8のコード値を文字に...
-
英数字を含む文字列(0-9,A-Z)...
おすすめ情報