海外のPHPソフトOneOrZero(http://www.oneorzero.com/)を日本語化しています。一部のフォーム(ユーザーへの返答部分)に日本語を入力すると文字化けがおこります。

たとえば「テストです」(シフトJIS)と入力すると「テスト・Aring;・middot;。」となります。
公式サイトに設置されているデモからも確認することが出来ます。よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/05/02 00:14:53
  • 終了:--

回答(2件)

id:ke_ishi No.1

ke_ishi回答回数269ベストアンサー獲得回数02005/05/02 10:54:47

ポイント5pt

フォーム部を含むソースを抜粋してコピペしてもらえるとわかりやすいのですが。

文字コードが自動認識になっていませんか??こういう場合、文字コード判定をミスしにくい文字列をhiddenでformの先頭に埋めておくと文字コード判定が成功する確率が高くなるかも。

<input type=”hidden” name=”dummy” value=”美乳”>

とか。

id:jouno No.2

jouno回答回数280ベストアンサー獲得回数02005/05/04 17:59:31

ポイント95pt

結果の文字列を見ると、受け取った文字列を、2バイトのものを1バイトずつ扱って、そのうえ、それをphpのhtmlentities関数に通しているようです。そのため「で」の2バイトめがおそらくAring;に、すの2バイト目がmiddot;と文字コードが一緒だったんじゃないかと思います。ということは、htmlentitiesの部分をさがして、htmlspecialcharsにいれかえればうまくいくものとおもわれます。

id:usjma

ありがとうございました。

解決しました。

2005/05/06 00:26:25

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません