人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQL4.0.23です。
’―’この文字をデータベースに格納することができません。

ex.
fld2はvarcharもしくはtextです。
insert into table (fld1,fld2) values (1,’―’)
’―a’などのにように何か文字を足してやれば格納できるのですが、化けて登録されてしまいます。
このような特殊文字列は他にもありますか?または機知のバグであるかどうか、どこで調べればよいですか?

●質問者: nakeyouguisu
●カテゴリ:ウェブ制作
✍キーワード:23 EX データベース バグ 特殊文字
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● FMR
●10ポイント

http://iandeth.dyndns.org/mt/ian/archives/000111.html

MySQL 4.1 日本語環境での使用時の注意点/関連情報まとめ (iandeth.)

「―」は全角ですよね

その場合文字コードを統一してますでしょうか?

テーブル作成時に指定しておき入力の際も統一する事をおすすめします。

◎質問者からの返答

「―」は全角です。


2 ● yyaibo
●10ポイント

http://66.102.7.104/search?q=cache:8mHmxHkveiIJ:www.atmarkit.co....(1,%E2%80%99%E2%80%95%E2%80%99)&hl=ja&lr=lang_ja:detail]

ブラウザから取得したパラメータが正しくデコードできていますでしょうか?

以下のようにサーブレットで実行して問題なく登録できます。

req.setCharacterEncoding(”Windows-31J”);

String key = (String)req.getParameter(”key”);

String sql = ”insert into temp_key (dkey) values(?)” PreparedStatement ps = conn.prepareStatement(sql);

ps.setString(1, key);

int rc = ps.executeUpdate();


PostgresのデータベースのエンコーディングはEUC_JP

JDBCのドライバはPostgres8.0Win版に付属のpostgresql-8.0.309.jdbc2ee.jar

で試してみました。

参考まで。

◎質問者からの返答

わざわざ試していただいて、ありがとうございます。

なるほど、ポストされた段階でのブラウザ側の文字化けですか。ツール(ブラウザ系myAdmin)から登録してもだめだったので考えから抜けていました。調べてみます。


3 ● でぐちきり
●50ポイント

http://www.kent-web.com/pubc/jcode/

文字化けについて

指定している文字コードがShift_JISの場合、

この文字のコードの末尾が「5C」であるため、文字化けの原因となってしまっているのかと思います。

同様の文字に「表」「十」「圭」などがあります。

◎質問者からの返答

おっしゃる通りSJISです。

なるほど。

「ソ」や「表」がダメなのはいたいですね。

非常に参考になりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ