- 締切済み
文字コード
ご無沙汰しております PHP、HTMLで携帯サイトを作っています サーバーのデフォルト文字コードはUTF-8です。 質問は文字コードなのですが ・ファイルの保存文字コード ・画面からの入力のエンコード ・出力文字のエンコード(?) etc、、、、 はい。 うすうす気づかれたとは思うのですがはっきり言って文字コードはほとんど知識が無く、、、 グーグル先生で探してはいるのですが、時間の関係上1からきっちりとは 出来ない現状で成果だけを求めてしまっているので結局わからずじまいです。 参考URLや書籍等、基礎的な部分を補えるおすすめのものや、上記作業で必要な考慮点などでも結構ですのでお知恵をお貸しください。
- eclipsePG
- お礼率51% (16/31)
- PHP
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
みんなの回答
このサイト内で「PHP 携帯 文字コード」で検索すると、類似した質問が多数出てきましたが、それを全て読んだ上でのご質問でしょうか?
関連するQ&A
- PHPの文字コードについて
PHPとmysqlの文字コードの関係について 1.データベースは文字コード utf8_unicode_ci で作成しています。 2.以下のようにテーブルを作成しました。 CREATE TABLE `test` ( `qid` varchar(10) NOT NULL, `qtitle` varchar(255) default NULL, PRIMARY KEY (`qid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.show.phpの中で以下のように 出力しようとすると文字化けします。 show.phpファイルは文字コードutf8で保存しています。 <?php print($qTitle); ?> ブラウザの文字コードの設定はShift-Jisです。 ブラウザの文字コードを変えずに正しく表示させるためには どうすればいいのですか? ご教授よろしくおねがいします。
- 締切済み
- PHP
- HTML文字コード
こんにちは。 文字コードのお話です。 PHPでテンプレートを呼び出して表示するのですが、UTF-8で指定しているのに、Shift-Jisで出力されている様子です。 HTMLのmetaタグで宣言しているのに、HTMLファイルだけがS-JISです。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> PHP側ではUTF-8を指定していて、そのページではきれいに表示されている文字と、文字化けしている文字がごちゃごちゃです。 htaccessの設定という可能性もあるでしょうか? HTMLに関連する問題だと思うのですが、ご存じの方いらっしゃいましたらご教授お願いします。。
- 締切済み
- PHP
- Perlの文字コード
1-2年ほど前、Perl5.8でソース自体をUTF8N(LF)で記述するようになり、 以下のように書いていました。 use utf8; use encoding "utf8"; use Encoding; それからPHPに移り、PHPでは、ソースはEUC-JP、DBもEUC、HTMLに出力する際もEUC-JPで統一していました。 最近またperlを使い出して疑問に思ったのですが、 perlではどのような文字コードで統一すれば一番よいのかということです。 javascriptはUTFだと動作しない端末(ザウルス)などあり、 perlもEUC-JPで統一しようと考えています。 昔、UTF8にこだわったのは、おそらく 「構」という文字は5Cなので、 文字コードによる不具合(ソース,js,cssで)を避けるためと、流行のUTF8にしたと思います。 perlでEUC-JPで文字コード統一させるメリットデメリットが知りたいです。 最近perlで書かれたサイトでHTML出力がShift_JISだったのですが、perlソースもシフトJISかは知りませんが、Shift_JISで統一するデメリットが知りたいです。 あと、WEBでどの文字コードが現在主流で、今後どうなるかも知りたいです。 EUC-JPで安泰なら、話は早いですが・・・
- ベストアンサー
- Perl
- コード上の埋込み漢字コードの文字化け
PHP のソースコード上に埋め込んでいるべた書きの2バイトコードが 文字化けを起こしてしまいます。以下、経緯を含め詳しく書きます。 1.HTMLのFORMよりデータを入力。(toiawase.html) 2.PHPにて、入力データをWebブラウザ上に表示して確認。(mail_kakunin.php) 3.PHPにて、確認済みのデータをmail()関数にて送信。(mail_send.php) 上記の状態で正常動作を確認。 「1」の toiawase.html にて、charsetをUTF-8にする必要があり 下記のように charset のみ書き換えました。 <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" /> すると以下の不具合が発生しました ・上記の「2」の部分ですでに入力したデータのみ文字化けを起こす。 ・当然、「3」にての送信でも入力データのみ文字化けして送られる。 よって、「2」のmail_kakunin.php にも以下の分を追加しました <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" /> すると以下のような不具合が発生しました ・上記の「2」の部分で入力データは mb_convert_encoding() で UTF-8 に変換し、文字化けしませんが、今度はPHPのコーディングでべた書きの2バイト コードが文字化けを起こす。 HTML上で、UTF-8 の漢字コード指定なので、PHPにべた書きの2バイトコードも UTF-8 で出力する必要があるのですが、やり方がわかりません。 ご存知の方教えていただけると助かります。
- ベストアンサー
- PHP
- サーバーにアップすると文字化けする
PHPで作成したWebサイトをブロバイダーのサーバーにアップして表示すると文字化けします。 ローカル環境では、php.iniの設定で、エンコードをUTF-8としていますが、「サーバー環境はWindowsサーバをベースとしており、WEBサーバはIIS(7.0)となるため、各サイトごとにphp.iniファイルを設定することはできない。 (サーバ内にアップロードされてもPHPから読ませることはできません。)」 とブロバイダに言われました。 どうしたらよいのでしょうか? ちなみに、ローカル側のエンコードをjisにすれば問題ないのかもしれませんが、いまいちphp.iniの設定に自身がないのです。 今の状態は以下の通りですが、どこをどう変更すればよいのでしょうか? よろしくお願いします。 **************************************************** default_charset = "UTF-8" 出力文字コード mbstring.internal_encoding = UTF-8 PHP内部の文字コード mbstring.http_input = auto HTTP入力の文字コード mbstring.http_output = pass HTTP出力の文字コード mbstring.encoding_translation = Off HTTP入力の文字コードの自動変換 ****************************************************
- ベストアンサー
- PHP
- ブラウザが文字コードを誤判別する
PHPでフォームを含むHTMLを出力しています。 POSTを使ってページ移動すると、ブラウザが文字コードを誤判別します。 表示が文字化するのではなく、ブラウザのエンコードが誤判別され、POSTで次ページに移動するとPOSTされる文字列だけが文字化けします。 リンクによる移動では、誤判別しません。 php.iniの設定 default_charset = Shift_JIS mbstring.internal_encoding = EUC-JP mbstring.http_output = Shift_JIS PHPのソースは、EUC-JPで書いています。 出力するHTMLには、 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"/> をヘッダーに記述しています。 この現象は100%発生するわけではなく、完全にランダムです。 確実な再現手順はありません。 ブラウザは、WinXP Pro SP2 + IE6.0 です。 ブラウザの不具合でしょうか?
- ベストアンサー
- HTML
- 文字コードについて
エンコードをUTF-8でHTMLを作成することの問題点としてはどんなことがありますか? 例えば文字化けする環境などを教えていただけませんでしょうか? Shift_JISでサイトを作ってますが、文字化けする字をよく使い、それを画像で処理するのではなくてテキスト情報として扱いたいのでUTF-8にしようと思い、質問させていただきました。
- ベストアンサー
- その他(インターネット・Webサービス)
- 特定ファイルのみ文字コード変換
現在PHP5を文字コードUTF-8で使っているのですが あるphpファイルのみSJISで出力したくて色々調べphp.iniを設定したのですが、どんなに強引(無謀)な方法を使ってもブラウザで表示すると文字コードがUTF-8で認識されてしまいます。 (mbstring.detect_order default_charset mbstring.http_output などを色々変更して試しました。) <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" />も記述しています。 SJISで出力させたいファイルの保存文字コードはSJISです。 .htaccess でのフォルダ単位の指定も試したのですがダメでした。 phpファイル内に下記を記述してもダメでした。 header('content-type:text/html; charset=Shift_JIS'); 試しに $test $test2 = mb_convert_encoding($test ,'Shift_JIS' ,'UTF-8'); なども試してみたのですが、何をやってもブラウザはUTF-8と認識してしまうため文字化けしてしまいます。 apacheの設定で AddDefaultCharset は設定していません。 php.iniの設定は素人なりにですがやりつくしたと思うのですが・・・httpd.conf なのかと思って調べても見たのですがUTF-8の記述すらありませんでした。 ちなみに普通のhtmファイルの場合はmetaタグの文字コードをSJIS指定しただけで正しくSJISで表示されます。 ・・・というような状態なのですが、ブラウザにUTF-8と強制的に認識させてしまう設定はどこでされてしまっているのでしょうか? ・・・やはりphp.iniなのでしょうか? 宜しくお願いいたします。
- ベストアンサー
- PHP
お礼
レスポンスありがとうございます 読んでいません。 読んでわからない点が出てくるとは思いますが問題点を少しは明確化させることが出来るかもしれませんので 確認→質問 とりますね ぶしつけな質問にレスいただきましてありがとうございました。