スレッド表示 | フラット表示〕 全トピック 920 件中 550 番目 次≫ ≪前

ereg_replaceの文字化けについて

created: 2004-09-27 08:29 | modified: 2004-09-28 18:36 | reply: 2

[1813] ereg_replaceの文字化けについて

user: サトシ | created: 2004-09-27 08:29
はじめまして。
今検索機能を作っていまして、調べてもちょっと分からないので、どなたか教えて頂けないでしょうか。

$str="アイウエオ";
print eregi_replace("A", "<u>A</u>", $str);
上のコードを実行すると、・u>Aイウエオ
の様に変換されてしまいます。
どなたか回避策を教えて頂けないでしょうか。

WinXP PHP4
スクリプトはShift_JISで書いています。
よろしくお願いします。
reply: 1818 返信 編集 削除

[1818] マルチバイト対応

user: ゆうじ | created: 2004-09-28 13:49
こんにちは。

eregi_replace はマルチバイトに対応してないので、
mb_eregi_replace に置き換えでみてはいかがでしょう。


あと、Shift-JIS の中には、
アスキーコードと重複するものが多数ありますので、
このような間違った変換が行われることがあります。

例えばShift-JISで、カタカナの「ア」は「0x8341」。
この下位バイトがアスキーの「A(0x41)」と重複します。

文字コードが Shift-JIS でなくてもよいのでしたら、
全て EUC-JP にするのも策です。
Parent: 1813  reply: 1819 返信 編集 削除

[1819] Re.マルチバイト対応

user: サトシ | created: 2004-09-28 18:36
mb_eregi_replaceは何も変わらず、無理でした。EUC-JPで書けば上手くいくのは分かってたんですが、Shift_JISのままでやりたかったので、いろいろ調べてみました。

mbregex_encoding('Shift_JIS');
を追加すればいいみたいです。
これだけで上手くいきました。
返信ありがとうございました。
Parent: 1818  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 550 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑