
ついこの間質問した件ですが、うまくいかなくなり、
わかる方ご伝授お願いいたします。
入力テキストエリアに「\」または「%」と入力すると文字化けするので、
何か良い解決策はありませんか?
教えていただいた方法で、「\」と入力した場合、
$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で質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- その他(パソコン・スマホ・電化製品) アクロバットリーダーでテキスト入力して保存すると四角の中に×が入った状態になります 文字化け❓️ 解 1 2023/08/16 08:11
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) エクセルの数式で教えてください。 3 2022/10/25 10:52
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/06/15 14:11
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- Word(ワード) Windows11キーボードの調子が悪いので治し方を教えてください。 【症状】 1つ目 キーボードの 5 2022/07/03 14:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックスの複数選択の...
-
CSVファイルの中で、「 , 」カ...
-
Excelについて質問です。 セル...
-
エクセルで数値を全角文字(カ...
-
住宅にカナを入力する際に丁目...
-
VBA 文字に半角が含まれて...
-
各項目がダブルクォーテーショ...
-
Excel VBAでPDFファイルをMicro...
-
IEからEdgeへの移行に伴うIMEの...
-
VBA 置換文字がみつからない時
-
英数字のみ全角から半角に変換
-
「何とかで始まり、何とかで終...
-
CString から LPCTSTRの型に変換
-
CSVの定義
-
WORDで改ページすると時々グレ...
-
文字コード変換時の文字化けに...
-
正規表現で、特定の文字列を含...
-
エクセルでの漢字(全角ひらが...
-
文字コードの%E3%80%とは何です...
-
C#で空白行を削除する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
InputMan の imTextについて
-
文字実体参照が勝手に変換され...
-
チェックボックスの複数選択の...
-
もっとも初歩的なデータの渡し方を
-
常用漢字?でない文字を判定す...
-
機種依存文字の文字コード変換
-
色の指定
-
formデータのデコード「s///」...
-
半角と全角の文字数カウント方法
-
Perlの初歩
-
正規表現でカンマを対象にする方法
-
特殊文字をPOSTした際の動作は?
-
次ページ処理で途中つまりました
-
文字化けを回避したい
-
ダブルクォート文字などをフォ...
-
index関数と英語文字
-
nkfとjcodeの使い方の違いについて
-
SJISに関する少々複雑な問題
-
パターンマッチ変換について
-
戻り値の意味がわかりません…
おすすめ情報