※ ChatGPTを利用し、要約された質問です(原文:文字化けしてしまいます。)
文字化けしてしまいます。~の文字が文字化けして、どうしても解決ができません。
このQ&Aのポイント
出勤管理のためにPCと携帯の両方でデータを管理しようとしていますが、文字化けの問題が発生しています。utf-8のファイルで作成すると問題は起きませんが、携帯との互換性のためにsjisファイルを使用しなければならず、文字化けの原因となっています。
utf-8とsjisのファイルを相互に変換する際にmb_convert_encodingを使用していますが、特定の文字(~など)が文字化けしてしまいます。
文字化けを回避するための方法をご存知の方がいらっしゃいましたら、アドバイスをお願いいたします。
~の文字が文字化けして、どうしても解決ができません。
どなたかお分かりになる方、アドバイスをよろしくお願いいたします。
PHP5、Xampp、XP の開発環境になります。
実は出勤時間をPCからと携帯からの両方で管理しようと思っています。
データ保存用ファイルは、utf-8のtxtファイルになります。
すべてをutf-8のファイルで作ることができれば、問題は起きてこないわけですが、携帯が
かかわってきており、sjisを使わざるを得ません。かといって、すべてのファイルをSJISにするのも
これまた、ダメ文字の関係でそれもできません。
そこで、携帯だけはsjisファイルで作っています。このsjisファイルとutf-8ファイルの間で文字化けが
おきてしまいます。
出勤時間を読み込んで、10:00~のようにutfの保存用ファイルから読み込んで、mb_convert_encoding
でsjisに変換して表示をします。これは、普通に表示になります。
表示されたファイルは携帯のsjisファイルですので、携帯から出勤時間を変更して保存しようとする
場合、今度はsjisからutf-8に変更して保存する必要があります。
そこで、携帯からutf-8の保存用ファイルに更新した内容を保存する場合にmb_convert_encodingを
かけて、utf-8に変換しました。一応、mb_detect_encodingを使ってutf-8に変更されていることも
確かめました。
しかし、保存さているデータは、10:00縲 というように~が縲に文字化けしてしまいます。
この文字化けを回避する方法がお分かりの方、ぜひお知恵をお貸しください。
よろしくお願いいたします。
お礼
ありがとうございました。 また一つ、勉強させていただきました!