
ついこの間質問した件ですが、うまくいかなくなり、
わかる方ご伝授お願いいたします。
入力テキストエリアに「\」または「%」と入力すると文字化けするので、
何か良い解決策はありませんか?
教えていただいた方法で、「\」と入力した場合、
$tmp = '\';
$tmp =~ s/\\/¥/; #(2)\-->¥
処理を追加してみたのですが、
5Cコード処理("表\示" や "予\約" のように、バックスラッシュを補完する処理)
をしたあとに、この上の\→¥を行うと、表示と予約が文字化けになります。
「\」または「%」を全角にしてしまう方法はありますか?
教えて下さい。
No.5ベストアンサー
- 回答日時:
> EUCで保存してあるものをShiftJISとして
> 表示させたい場合はどのように表示させれば
> いいのでしょうか?もしかして、
> 深く考える必要はないのでしょうか?
深く考える必要はありません。
出力するときにShiftJISに戻すだけです。
Jcode.pmを使ってる場合でソースコード上はEUCの場合、
print jcode("あいうえお","euc")->sjis;
または、
$value = "あいうえお"; #EUC
$value = jcode($value,"euc")->sjis; #ShiftJISに変換
print $value; #出力はShiftJIS
というような感じです。
jcode.plを使ってる場合も同じように出力直前でShiftJISに戻せばOKです。
なお、Perl 5.8.xの場合は、ソース上で指定することで簡単にソース上とは違う文字コードでの出力の指定が可能ですがここでは割愛します。
回答有難うございます。
わかりやすい説明をしていただいて、
理解できそうな気がします。
少しずつ理解を深めていこうと思います。
本当に有難うございました。
No.4
- 回答日時:
ソースがEUCで、出力をSJISにしたい場合はjcodeなどで変換する必要があります。
ソースがEUCの場合、EUCでの出力を前提とするのが通常かと。
混乱の原因は「どこで\などに注意しなければならないか?」が明確になっていないことだと思います。
ソースをEUCにすると、ここのところをあまり注意しなくても済みますが、
SJISでソースを記述してもちょっとした注意で回避できます。
注意といっても、ダブルクォーテーション/シングルクォーテーションの使い分けと、
正規表現のメタ文字くらいかな。
この2点に注意していれば大丈夫ですよ。
> 「\」または「%」を全角にしてしまう方法はありますか?
ちなみに、文字列のコードがSJISの場合、
「\だけを¥に変換」という処理は結構面倒なロジックが必要になります。
無理に変換して文字化けを回避するより、2点に注意して文字化けを回避したほうが楽なんじゃないかなぁ。
回答有難うございます。
わかりやすい説明をしていただいて、
理解できそうな気がします。
少しずつ理解を深めていこうと思います。
本当に有難うございました。
No.3
- 回答日時:
文字コードの変換は Jcode.pm とか jcode.pl とか nkf とかあれとかこれとか...
いろいろある予感
EUCで保存したのをSjisにして出力してもいいし、
HTMLならタグでEUCコードであることを示してやれば
そのまま出力しても読めることが多いな。
鯖の設定にもよるが。
回答有難うございます。
わかりやすい説明をしていただいて、
理解できそうな気がします。
少しずつ理解を深めていこうと思います。
本当に有難うございました。
No.2
- 回答日時:
$tmp = qq|表示\\|; #\|だと|がエスケープされてしまうので\\|
$tmp =~ s/\\/¥/g;
$tmp =~ s/表示/表\示/g;
print $tmp; #表示¥
できればEUC等、ShiftJIS以外の文字コードを使うことをお勧めします。
この回答への補足
素早い回答有難うございます。
現在、文字はShiftJISで行っているのですが、
ShiftJISからEUCで変換し、保存すると、
EUCで保存してあるものをShiftJISとして
表示させたい場合はどのように表示させれば
いいのでしょうか?もしかして、
深く考える必要はないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字実体参照が勝手に変換され...
-
正規表現でカンマを対象にする方法
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
エクセルでの漢字(全角ひらが...
-
EXCELからCSVにすると余計なカ...
-
IEからEdgeへの移行に伴うIMEの...
-
住宅にカナを入力する際に丁目...
-
VBA 文字に半角が含まれて...
-
ダブルコーテーションの置換
-
CSVの定義
-
EXCEL VBA でCTRL+Fのダイア...
-
WORDで改ページすると時々グレ...
-
CString から LPCTSTRの型に変換
-
正規表現で、特定の文字列を含...
-
Excelについて質問です。 セル...
-
COBOL・全角判定
-
マクロを使ってフォルダー内に...
-
openoffice calcで#DIV/0! の...
-
VBA 置換文字がみつからない時
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
InputMan の imTextについて
-
文字化けを元に戻せますか?
-
nkfとjcodeの使い方の違いについて
-
正規表現
-
半角カナから全角カナへ
-
チェックボックスの複数選択の...
-
Perlでのマッチング処理について
-
中国語のコードについて
-
utf-8のマシンでsjisのデータフ...
-
文字実体参照が勝手に変換され...
-
unicodeの表示
-
PerlでUTF8をEUCに変換
-
CASL2の仕様での英単語の格納方法
-
頭文字を大文字にしたい
-
文字をISO Lathin 1 文字コード...
-
textareaでHTMLタグを使いたい
-
常用漢字?でない文字を判定す...
-
「数値文字参照への変換するソ...
-
アルファベットの変換?
-
デコードフォームについて。
おすすめ情報