こんにちは。
PHPとMySQLで携帯向けのコンテンツを作成しています。
携帯ではShift-JISしか表示されないということを・・・今知り、パニックになっています。
というのは、MySQLがEUCで動作している為、いくらPHPをShift-JISで保存しても、DBから引いてきた情報は文字化けしてしまうのです・・・。
では、MySQLの文字コードを変更すれば?ということになるのですが、サーバーの環境上、それを変更することが出来ません。
どうすればいいのでしょうか・・・。
エンコードコマンドも調べたのですが、うまくいかず。
出来れば、SQLで取ってきた行を一括でエンコード出来る方法があれば助かりますが、その他の方法でも結構です。
とにかく、今の環境で携帯サイトを文字化けなく表示する方法をご教授下さい。
宜しくお願い申し上げます。
No.3ベストアンサー
- 回答日時:
実際にやっているのですが、
携帯用の出力HTMLの全てを変数にいれて、
最後に
print mb_convert_encoding($html, "SJIS", "EUC");
でエンコードしています。
他の方法を試しましたが、なぜかSJISを吐き出してくれなかったので・・・
No.4
- 回答日時:
PHPはサーバによって設定などで利用制限があるようです。
ちなみに今利用しているサイトは、
文字コードを指定する場合、PHP文の一番上に
<?
header("Content-type: text/html; charset=Shift_JIS");
?>
と記述。
とあります。
他のサイトでも一番上に~~~を記述。
PHPの拡張子は.cgiにすべし。
などありました。
サイト運営会社へ問い合わせてみるしかないように思います。
mb_convert_encodingが使えるかどうかも含めて。
No.2
- 回答日時:
がると申します。
単純に文字コードを合わせればよいと思うのですが、いかがでしょうか?> PHPをShift-JISで保存しても
という発言からすると、コードの中にHTMLが書いてあるかと思うので(一応念のため。もし業務で作られているなら、コード中にHTMLがあるのはお勧めも歓心もできません)。
DBから取得した情報を、一度
$shift_jisに変換されたデータ = mb_convert_encoding(MySQLで取ってきたデータ , "SJIS", "auto");
という感じで文字コード変換すればよろしいかと思います。
No.1
- 回答日時:
やり方はいろいろあるので1例です。
以下のようにしてやれば、このphpがEUC-JPであっても
出力をsjisに出来ますよ。
<?php
mb_http_output('SJIS');
ob_start('mb_output_handler');
echo '
<html>
<head>
<title>あああmobile</title>
</head>
<body>
いうえお
</body>
</html>
';
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
- ヤフオク! ヤフオクに出品したいのですが、タグを実行出来ません。 2 2022/09/16 12:36
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
$str=preg_replace('/\\u3000/'...
-
XML出力時の日本語一部文字化け
-
mysql utf8、php・euc-jp で出...
-
文字化け
-
ハシゴの「高」が「?」に置き...
-
onedrive にexcelファイルをア...
-
VBSの「MsgBox」について
-
こちらはただの直列処理ですか?
-
複数ファイルを連続でダウンロード
-
パースエラーとは?
-
リンク先を隠す方法はないでし...
-
拡張子php画像をjpg画像等に変...
-
図に示す階層構造で,現在のデ...
-
C# Excelファイルへの画像挿入。
-
PHPとCSVで簡易データベースな...
-
Subversionで、ファイルをリネ...
-
ワードプレス、Contact Form 7...
-
include先でのinclude元の変数...
-
PHPのif文でその処理を途中で抜...
-
PHPでネットワークドライブのop...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エンコーディングについて
-
phpのhex2binについてphpで、ut...
-
ハシゴの「高」が「?」に置き...
-
PHPでCSV出力時の文字化け(一部)
-
$str=preg_replace('/\\u3000/'...
-
PHPの文字化けした文字だけ削除...
-
phpMyAdminで文字化け
-
【PHP】ファイル読み込みで...
-
MySQL文字コード
-
windowsXP、XAMPPでメーラーMer...
-
i18n_convert と mb_convert_e...
-
データベースから取り出した日...
-
scandir関数取得結果の文字化け
-
PHPフォーム→PHP確認画面で...
-
文字化け
-
XML出力時の日本語一部文字化け
-
header("location~")をPOSTで...
-
PHPの文字コード (php.iniの...
-
PHPExcelで日本語(漢字)ファ...
-
mysql utf8、php・euc-jp で出...
おすすめ情報