こんにちは。
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ランキング
-
エンコーディングについて
-
年と曜が文字化け・・・対応策...
-
GETで値を渡すと、記号と数...
-
[PHP+MySQL]DBがEUC,出力...
-
データベースから取り出した日...
-
フォントの色を変えるには?
-
【BAT(バッチ)ファイル】Web...
-
PHP8を使うと、大量のWarningが...
-
バッチを用いたフォルダの自動移動
-
ファイル一覧を表示しその画面...
-
文字化けについて
-
PHPのif文でその処理を途中で抜...
-
eclipseのエラーの意味
-
透過PNGが透過されない!!
-
空メールの作り方教えて欲しい...
-
3つ以上の論理積は利用可能なの...
-
fopenでファイルが開かない場合...
-
tplを読みに行けません。
-
PHPのstrpbrk関数ってひらがな...
-
move_uploaded_fileのエラーについ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mb_convert_encoding で?になる。
-
mysql utf8、php・euc-jp で出...
-
PHPの文字化けした文字だけ削除...
-
エンコーディングについて
-
ハシゴの「高」が「?」に置き...
-
$str=preg_replace('/\\u3000/'...
-
PHPでCSV出力時の文字化け(一部)
-
文字化け(Shift-jis→UTF-8変換...
-
$_GETで2バイト文字列を取得す...
-
php.iniを変更したのにUFT-8が...
-
mail関数を使った際の文字コー...
-
csvからデータベースへ取り込み...
-
フォーム受け渡しの際の文字化け
-
【PHP】ファイル読み込みで...
-
SJISのダメ字について
-
php5,MySQL5で文字化けが起こる
-
i18n_convert と mb_convert_e...
-
XML出力時の日本語一部文字化け
-
PHPExcelで日本語(漢字)ファ...
-
phpのhex2binについてphpで、ut...
おすすめ情報