お問い合わせフォームをPHPで作っているのですが、
下記のPHPで文字化けする文字の一覧の中で、
IX・・がどうしても文字化けしてしまいます。

私はエンジニアではないのですが、開発をしている中国人のエンジニアがどうしても修正することができなくて困っています。
コードの記述や、参考サイト(日本語でOK)があれば、
エンジニアが見てわかりますので、どなたか分かる方はいらっしゃらないでしょうか。

■PHP文字化けする文字一覧
― ソ Ы IX 噂 浬 欺 圭 構 蚕
十 申 曾 箪 貼 能 表 暴 予 禄
兔 喀 媾 彌 拿 杤 歃 濬 畚 秉
綵 臀 藹 觸 軆 鐔 饅 鷭

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

>フォームからのデータ送信はシフトJISしか使用できない



無茶苦茶なことを言ってますね。

フォームおよびそれを含むHTML全体をEUC-JPやUTF-8で書けば、当然送信データも原則として同じ文字コードになります。あるいはフォームに「accept-charset」属性を指定して、任意のエンコードで送信することも出来ます。
    • good
    • 0

ここでも文字化けして(あるいは自動変換されて)いることからも分かると思いますが、その3文字は環境依存文字です。


他の文字は正式なJISコードに載っている文字ですが、ローマ数字や[イ春][石玉]などの文字はIBM拡張文字などと呼ばれるWindowsの独自拡張です。
そのあたりに原因があると思います。
個人的にはそのような特殊文字は使用禁止にしてしまって良いと思います。

確認ですが、その他のIBM拡張文字、つまり下記サイトで紹介されている字は正常に表示されるのでしょうか?
http://homepage1.nifty.com/~petronius/kana/kakut …
    • good
    • 0

PHP 5Cで検索すれば腐るほど出てくる。


#個人的にはスラッシュを意識するのが大嫌いなのでUTF-8とかを使って考えたい

http://ja.wikipedia.org/wiki/Shift_JIS#2.E3.83.9 …

#英文の解説は見つけられず

この回答への補足

ご回答ありがとうございます。
エンジニア曰く、フォームからのデータ送信はシフトJISしか使用できないと言っております。
その辺に関してはいかがでしょうか?

補足日時:2009/03/19 08:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QPHPフォーム→PHP確認画面で、文字化け

PHPでHTMLのフォームを吐き出し、そこから、PHPの確認画面に移行する際、文字化けが発生するのですが、どうしたらよいでしょうか?

Aベストアンサー

とりあえずheaderでキャラクターセットを指定してあげてください
header("Content-Type:text/html;charset=euc-jp");

それで直らない場合は出力時に文字コードをコンバートしてあげてください
print mb_convert_encoding($str,"EUC","SJIS");

参考URL:http://www.php.net/manual/ja/function.header.php,http://www.php.net/manual/ja/ref.mbstring.php

Q[HTML-PHP]あるPHPファイルだけ文字化け

お世話になります。

XP/PHP5.2.9/Apache2.2.11
の環境で、簡単なシステムを作っているのですが、その際に
PHP側で
header( "Content-Type: text/html;charset=shift_jis");
HTML側で
<meta http-equiv="content-type" content="text/html; charset=shift_jis">
と明示的にSJISにしているのですが、実際にローカルで確認すると文字化けしてしまうPHPファイルがあります。(1ファイルのみ)
他のPHPファイルは同様のヘッダー情報を送信していますが、文字化けせずに画面出力されています。

HTML-PHP初心者のため、補足等必要になるとは思いますが、どうぞご教授下さい。

Aベストアンサー

IEで見たり、FireFoxで見たりと複数ブラウザで確認していますか?
文字化けしている環境をつきとめると、原因が見えてくるかも知れません。
<meta http-equiv="content-type" content="text/html; charset=shift_jis">
の前に、日本語(2バイト文字)が書かれている等はありませんか?
全角空白等の見つけにくいものかも知れません。
ブラウザのソースを表示で出力された結果を、半角空白、全角空白を代替え記号で表示できるようなテキストエディタで表示させれば、判るかも知れません。

文字化けした環境で、文字コードを自動ではなく、手動で切り替えて文字化けの仕方から、どの文字コードだと認識されているか、を確認すると判るかも知れません。

該当のファイルで外部データを読み込んでいないか(DBからデータを取得している、テキストファイルを読み込んでいる、別のPHPファイルをIncludeしている)、読み込んでいたらそちらの文字コードが正しくないのかも知れません

QPHP5.1 + APACHE2 + PostgrSQL8.1 + Eclipse3.2で全角文字の文字化けが

お世話になります。PHP暦5日その内3日はこの問題で悩んでいます。
EUCとSJISが混在していることが原因だと思うのですが、
その先が進みません。
過去ログなどを読み、EUCに統一することが望ましいことが分かり、
そのつもりで挑戦しているのですがダメダメ君です。
現状では、
PostgrSQLから読み出したデータはEUCで
PHP内でprintやechoなどで文字を出力するとSJISとなります。
文字化けを解決する方法お願いします。

ちなみにphp.iniはこんな感じです。
php.ini
--------------------------------
default_charset = EUC-JP

extension=php_mbstring.dll

mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none

お世話になります。PHP暦5日その内3日はこの問題で悩んでいます。
EUCとSJISが混在していることが原因だと思うのですが、
その先が進みません。
過去ログなどを読み、EUCに統一することが望ましいことが分かり、
そのつもりで挑戦しているのですがダメダメ君です。
現状では、
PostgrSQLから読み出したデータはEUCで
PHP内でprintやechoなどで文字を出力するとSJISとなります。
文字化けを解決する方法お願いします。

ちなみにphp.iniはこんな感じです。
php.ini
--------------------------------
...続きを読む

Aベストアンサー

>>・Eclipse のエディタのエンコーディング
>とは何のことなのですか?

ウィンドウ->設定->エディタの中の
「テキストファイルエンコード」を「その他」の中からご希望のもの(EUC-JP?)を選択してください。そうすると、Eclipse で作成したコードはそのエンコーディングで保存されるはずです。

Qphpで文字化け(php.ini)

phpスプリクトはshift-jisで、文字化けしたためphp.iniをいじってみました。しかしどうやっても一定の漢字が文字化けしてしまいます。(「貼る」等…)

設定した箇所は下記の通りです(色々なサイトを回って調べた結果このような設定にしました)
PHPのバージョンは4.4.1です。

default_charset = "Shift-JIS"

mbstring.language = Japanese
mbstring.internal_encoding = SJIS
mbstring.http_input = auto

mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;

mbstring.func_overload = 0

Aベストアンサー

バックスラッシュ(5C)が該当文字に含まれるためですね
(貼:935C)
addslashesしてやればいいかも
または、単純に"貼\る"としてやればいいかも

参考URL:http://jp2.php.net/manual/ja/function.addslashes.php

Qwordpressの記事一覧が文字化け

wordpressを使って、その記事一覧をHTML内に表示しています。
するとタイトルやHTMLの全角文字が文字化けしphpで書き出している部分だけ正常に表示されます。
http://wordpress.main.jp/main2.php
コードの内容は
<?php require('./wordpress/wp-blog-header.php'); ?>
<html>
<head>
<title>文字化けPHP</title>
</head>

<body>
<p align="center">文字化けしてしまいます。</p>
<div align="center">
<table width="400" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<div>
<?php
$posts = get_posts('numberposts=3');
foreach($posts as $post) :
setup_postdata($post);
?>
<?php the_date(); ?>
<br>
<ul>
<li><a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>">
<?php the_title(); ?>
</a></li>
</ul>
<?php endforeach; ?>
</div></td>
</tr>
</table>
</div>
<p align="center">文字化けしてしまいます。</p>
</body>
</html>
----------------------------------------
です。
PHPは全然わかりませんが、調べてみて今までやったことは
・文字コード宣言をいろんなものに変えた。
・wordpress > wp-includes > wp-db.phpに
 @mysql_query(”SET NAMES ‘utf8′”, $this->dbh);を追加。

等、やってきましたが、解決しません。
現在はロリポップに新規にインストールしてすべてデフォルトの状態です。
文字化け回避の方法をよろしくお願い致します。

wordpressを使って、その記事一覧をHTML内に表示しています。
するとタイトルやHTMLの全角文字が文字化けしphpで書き出している部分だけ正常に表示されます。
http://wordpress.main.jp/main2.php
コードの内容は
<?php require('./wordpress/wp-blog-header.php'); ?>
<html>
<head>
<title>文字化けPHP</title>
</head>

<body>
<p align="center">文字化けしてしまいます。</p>
<div align="center">
<table width="400" border="1" align="center" cellpadding="0" cellspacing="0">
<t...続きを読む

Aベストアンサー

mysql_query("SET NAMES ujis", $this->dbh);

にしてすべてeuc-jpに統一してもだめですか?


このカテゴリの人気Q&Aランキング

おすすめ情報