![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
タイトルの文字制限で上手くかけませんでしたが、PHPファイルをサーバーにアップロードすると、半角バックスラッシュが半角円記号に置き換わってしまいます。
元のファイルはUTF-8で保存、ちゃんと半角バックスラッシュで表示されていますが、サーバーにアップロードしたものを開くと半角円記号に置き換わっています。
このせいでPHPエラーが出てプログラムが機能しません。
アップロードしたファイルを編集すれば機能するのですが、HP作成ソフトのプラグインの中のファイルなので、アップロードする度に修正するのが非常に手間です。
回避策があればよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
アップロード後のファイル中の文字がU+005Cであるならば,別のエラーが存在しているのでしょう。
バックスラッシュで表示されるか円記号で表示されるかは単純にフォントの問題です。
アップロード後のファイル中の文字がU+00A5であるならば,変換をしてしまっています。
FTPなどのプロトコルレベルでこの変換が行われることはありません。
なので,利用しているソフトウェアの問題になります。
この回答への補足
先ほど、使用しているソフトからでは無く、FTPソフトを使って該当ファイルをアップロードしてみました。
結果は文字の変換は行われていませんでした。ソフト、もしくはプラグイン側に問題があるのかもしれません。(ソフト、プラグインは外国製の物です)
アップロード前のプラグインの中のPHPファイルを編集して対処出来ればいいのですが…。
やはりソフトからアップロードされた物は、U+00A5になっていました。
意味が分からないのですが、アップロードされる前のファイルを、文字コードMacOS(Japanese)でU+005Cで修正し、それをアップロードしたら無事メールフォームが機能しました。
サーバーに書き出されたファイルの文字コードはUTF-8になっていました。
ソフト内の処理だと思うので意味がわかりませんが、とりあえず解決したという事にします。
ヒントを頂けて助かりました、ありがとうございました。
No.3
- 回答日時:
バックスラッシュが円マークに変わっちゃうのは主にWindowsですね。
Parse error: syntax error, unexpected '"' in /virtual/xxx/public_html/xxx.com/contact/xxx.php on line 300
このエラーはおそらくですが文字列の中の円マークがエスケープ文字として判定されたのでは??
文字列を一括で置換してやれば解決しませんか?
変数 = str_replace("円円", "円円円", 変数); // 円マークだと表示されなさそうなので漢字で
的外れだったらゴメンナサイ
回答ありがとうございます。
書き漏らしていましたが、使っているソフトはMac専用のものです。
とても奇妙な方法ですが、元のファイルを UTF-8 で開くと、半角バックスラッシュになっているんです。
そこで、Japanese(MacOS)に変換して半角¥として表示、それを全て半角バックスラッシュに変換、そのままJapanese(MacOS)で保存。そのままアップロード。
これで上手くいきました。理由は不明です。
一括置換を試しましたが今回は上手くいきませんでした。ソフトの仕様による問題だと思うのでお気になさらないで下さい。
No.2
- 回答日時:
ごめんなさい、質問の意図がわからないのですが
半角バックスラッシュ=半角円マークですよ
見るソフトや表示するフォントによって見え方がちがうだけです
>このせいでPHPエラーが出てプログラムが機能しません。
したがってそのせいではないと思いますが・・・
具体的にどんなエラーなのでしょうか?
この回答への補足
分かり辛くてすみません。
メールフォームのプラグインが吐くPHPファイルなんですが、実際に送信すると
Parse error: syntax error, unexpected '"' in /virtual/xxx/public_html/xxx.com/contact/xxx.php on line 300
のようなエラーがでます。
これで、半角円マークを半角バックスラッシュに直してやると正常に機能するんです。
自分なりに調べて、フォントによって表示が違うというのは理解しましたが、実際修正しないと機能しないのが現状です…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- YouTube ユーチューブへの動画投稿にサムネイルを付ける方法は? 1 2022/07/21 23:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- その他(IT・Webサービス) WPからダウンロードしたファイル名を指定したい 2 2022/04/08 08:31
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- HTML・CSS HTMLを正しく表示させるには 2 2023/06/18 09:12
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
ファイルアップロードの上限を...
-
「クラウドにアップロード」」...
-
ftpでアップロードが出来ない
-
Webブラウザを通じてサーバーの...
-
FTPClientで転送結果(OKかFAIL)
-
ファイルをGET送信でアップロー...
-
VBでクラウドストレージにア...
-
youtubeに音声のみのmp4ファイ...
-
BASP21のFTPで日本語ファイル名...
-
one drive のアップロード失敗...
-
PHPのif文でその処理を途中で抜...
-
フォントの色を変えるには?
-
【file_exists】ファイルが存在...
-
バッチを用いたフォルダの自動移動
-
現在位置より2つ上のディレク...
-
$_SESSION 有効期限をブラウザ...
-
.phpと.incファイルの違いはな...
-
stat failed
-
Switch文における、returnとbre...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
youtubeに音声のみのmp4ファイ...
-
ftpでアップロードが出来ない
-
VBでクラウドストレージにア...
-
ファイルサイズがpost_max_size...
-
ファイルをGET送信でアップロー...
-
FTPClientで転送結果(OKかFAIL)
-
「クラウドにアップロード」」...
-
10MB以内のJPG画像
-
どうして送信されないのでしょ...
-
BASP21のFTPで日本語ファイル名...
-
php,file_get_contentsの結果が...
-
全角ファイル名をアップロード...
-
PHPにてWebサーバー内データを...
-
aws cloud9というものを使って...
-
move_uploaded_fileについて
-
Dreamweaver ドリームウィーバ...
-
■PukiWiki アップロード可能な...
-
pixivのイラスト投稿の仕方を教...
-
PostMethodによるアップロード
おすすめ情報