
PHP mb_convert_encoding sjisからutf-8で一部文字の文字化けが発生します。
設定ファイル(sjisで作成)をPHP(utf-8)で読み込み、内容を更新して、再度設定ファイルとして書き出す(上書きする)スクリプトを書いています。utf-8で書き出す分には、全く問題がないのですが、書き出す前にmb_convert_encodingでutf-8からsjisに変換すると、文字化けする字が発生します。具体的には、以下の通りです。
事例1
・変換前(utf-8)
book_style="文庫,新書,雑誌,ムック,ソフトカバー,ソフトカバー大型本,ハードカバー,ハードカバー大型本,絵本"
・変換後(sjis)
book_style="文庫,新書,雑誌,ムック,ャtトカバー,ャtトカバー大型本,ハードカバー,ハードカバー大型本,絵本"
事例2
・変換前(utf-8)
;詳細侮ヲの最大表示件数
・変換後(sjis)
;詳細侮ヲの最大侮ヲ件数
該当するプログラム文は、以下の通りです。
$filepath = "setting.ini";
$string = $total_gyo;//ここで出力内容を代入します
$string = mb_convert_encoding($string, "sjis-win", "utf-8");
$string = stripslashes($string);
$fp = fopen($filepath, "w");
@fwrite( $fp, $string, strlen($string) );
fclose($fp);
各行分割して代入しても、全行一括で代入文字化けの発生状況は同じでした。
以上、どうぞよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
ソは5C問題の代表的存在ですね。
すでに指摘があるとおりstripslashesの使い方を考え直す必要があるでしょう。
なるほど、入力する文中に””などがあり、その処理でバックスラッシュが
発生するため、入力前に削除するため、stripslashesを挿入していました。
ご指摘のように、使い方を工夫したいたいと思います。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Excel(エクセル) 文字化け。メモ帳でUTF-8に変換後、エクセルへ貼り付けたいです。 3 2022/08/14 07:21
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Windows 8 メモ帳による文字コード変換 2 2022/09/01 18:38
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字化け変換方法
-
PHP + SQLite 文字化けについて
-
PHPでのメール差出人名について
-
携帯サイトでの文字コード変更
-
PHP cURLでPOSTした値が文字化...
-
携帯とPCにメールを送る(文字...
-
txtファイル作成の際に文字コー...
-
multipart/form-dataの文字化け
-
小さいひらがな(っ、ょ、ぃ、ゃ...
-
【追】「あ」→「82A0」のように...
-
mb_regex_encodingでエンコード...
-
RSSを取得すると文字化けする。
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
awkで改行を除いて文字列を抜き...
-
メッセージボックスで1025文字...
-
jsp 改行コードで改行させて表...
-
文字の入力で横バー上段、中断...
-
エスケープ文字の復帰(¥r)と...
-
JAVA Spring 改行コードを含む...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化け変換方法
-
PHP cURLでPOSTした値が文字化...
-
PostgreSQLからCSV形式でエクス...
-
PHPでの文字列置換について
-
SQL Serverで文字コードUTF-8
-
文字変換
-
記号全削除のクラスを作成したい
-
mb_send_mail()関数のタイトル...
-
postの文字化け防止について
-
SJISで取得した半角カナをUTF-8...
-
UTF8メールがLotus Notesで文字...
-
mb_send_mailの2重投稿を防止し...
-
日本語混じりの文字列の語数制限
-
10文字以降は非表示にしたいん...
-
SJIS→UTF-8変換後の文字化けに...
-
multipart/form-dataの文字化け
-
メール送信プログラムで特定文...
-
mysql登録時の文字化け
-
Warning: mb_strpos(): Unknown...
-
mb_ereg_replaceに関して
おすすめ情報