jcode.plで半角カタカナを全角カタカナにしてフォーム送信させる
1年以上前の記事です。内容が古い可能性があります。
ひょんなことからお客様よりツッコミが入った。
やはり、ケータイユーザーなのだろう。
送信フォームで半角カタカナが使えないという。

確認画面ですでに化けている。
ちなみに、僕が普段使っている送信フォームのシステムはperlで作られたCGI。
ベースはこの業界ではすでに老舗の老舗になっている「ネットサーフレスキュー(Web裏技)」の「WebFORM」。
これをいろいろと改良して今まで使ってきている。
このプログラムは日本語処理に有名な「jcode.pl」を使用している。
色々調べてみてたどり着いたのは以下の記事。
□ CGI 半角カナでも文字化けしない jcode.pl の使い方! さとーC++ぶろぐ/ウェブリブログ
文字コード変換時に,jcode.plの持っている
自動文字コード認識機能を利用せず,もともとの漢字コードを明確に
指定してやればよい。
ということで、元々の漢字コードを調べるプログラムとして以下のプログラムを紹介している。
$buffer1 =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack(“C”, hex($1))/eg;
$kcode = &jcode::getcode(*buffer1);
こちらをまずは採用。
具体的にはデータ入力処理とデコード処理の間に配置する。
次に、
指定方法は,convertの3番目の引数を省略せずに書けばよいだけ。
とのことなので、デコード処理内プログラムにある
を
に書き換える。
ここまでで動作確認をすると。
よし、確認画面でしっかり表示されている。
ところが、この状態で送信しても結局受信したメールでは文字化けが起きてしまう。
これはもう、半角カタカナを全角カタカナに変換して送信してしまうことにした。
それに関してはこちらの記事が参考になった。
□ 日本語文字コード(jcode.plの使い方)-ミスティーネットPerl・CGI講座-
半角カナを全角カナに変換する場合は、&jcode’convert() を使います。
[書式] &jcode’convert(文字列, 変換したい文字コード, 文字列の文字コード, ‘z か h’);
4番目の引数に「z」を入力すると半角カナから全角カナへ変換します。
つまり、上記
を
に書き換えればOK。
送信メール。
アドセンス広告メイン
関連記事
-
-
自分専用のハッシュタグでToDo管理 【Twitter(ツイッター)】
1年以上前の記事です。内容が古い可能性があります。先日、ToDoリストをツイッタ …
-
-
スマホ(スマートフォン)版「Feedly」でタイトルがおかしい時はfont(フォント)を変えろ
1年以上前の記事です。内容が古い可能性があります。Googleリーダーが終わるの …
-
-
復活! 「twitter2mixi」。「Amebaなう」と同期
1年以上前の記事です。内容が古い可能性があります。世の中何が起こるかわからないで …
-
-
Android版ツイッター(Twitter)公式アプリは全ツイートを拾ってくれない
1年以上前の記事です。内容が古い可能性があります。いろいろあったもののAndro …
-
-
稼働中のシステムのバグ取り(EC-CUBE)
1年以上前の記事です。内容が古い可能性があります。すでに稼働中のシステムにバグ※ …
-
-
モバゲータウンはiPhoneに対応していた
1年以上前の記事です。内容が古い可能性があります。最近、全くアクセスしてなかった …
-
-
「」()→↓←↑をiPhoneで簡単に入力、変換。辞書登録を使った画期的な方法とは
1年以上前の記事です。内容が古い可能性があります。なんか、iPhoneでカギカッ …
-
-
最近の雑誌は2種類のサイズで売っているらしい
1年以上前の記事です。内容が古い可能性があります。たまたま見かけた日経トレンディ …
-
-
YouTubeとFacebookを連携させる方法
1年以上前の記事です。内容が古い可能性があります。ここのところ連携を止める方法を …
-
-
ドコモケータイ用twitterクライアント「twittie」by「Colors」
1年以上前の記事です。内容が古い可能性があります。ケータイ用twitterクライ …
Comment
とても魅力的な記事でした!!
また遊びに来ます!!
ありがとうございます。。