2007年03月01日03:25 カテゴリ技術-PHP PHPで UTF-8←→SJIS の変換を行う場合の注意 php で文字コード変換をする場合は mb_convert_encoding("ほげほげ", "SJIS", "UTF-8")といった感じで変えられますが mb_convert_encoding("郄橋", "SJIS", "UTF-8")とやると文字化けします。 つまり、Shift-JISの拡張文字をUTF-8 (から|へ) 変換しようとすると化けるらしい。 拡張文字の代表としては「磲」とかも。 あとは「?????」のローマ数字の類もそう。 解決としては mb_convert_encoding("郄橋", "SJIS-win", "UTF-8")これだけ? って感じですが、これで問題なく変換できます。 これだけでなぜ通るのか、ちょっと調べたけれどよくわかりませんでした。 詳し
phpとoracleを用いたシステムでwebサイトを構築しているのですが、 ブラウザからアクセスしページ表示した際に、全角文字が文字化けしてしまいます。 ◆環境 webサーバ:apache, php, oracleClient, PDO_OCI DBサーバ:oracle DBデータアクセス方法:PDO ◆事象の詳細 文字化けといっても必ず ???? とクエスチョン続きで表示されます。 上記webサーバのコマンドラインでphpのバッチを実行したところ、 コマンドライン上では正常に全角文字が表示されます。 まったく同じバッチをwebブラウザからhttpでアクセスを行ったところ、 文字化けしてしまいます。 ブラウザでの表示が悪いのではと思い、 phpのバッチ実行時に結果をテキスト出力させる処理を追加したのですが、 コマンドラインで実行した際は正常に出力され、ブラウザでアクセスした際は内容が文字化
phpでOracleにInsertした結果を表示するとORA-29275発生 SQL> select * from table_name; ERROR: ORA-29275: 不完全なマルチバイト文字です phpファイルはUTF-8でDBの文字コードがSJISという事で発生(と思う) ORA-29275 OracleDBで文字コード取得 SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET' JA16SJIS PHP側でエンコード処理 'テスト' ↓ mb_convert_encoding('テスト','SJIS','UTF-8')
LaVie(~2014年12月発表)、他… (すべて表示する)、 (折りたたむ) VALUESTAR、Mate、VersaPro
Shift_JIS(SJIS, cp932) の文字コードで、2byte目が0x5c の \ になっているものの俗称(だめ文字、駄目文字) 0x5cの \ は使用するフォントやロケールによりバックスラッシュまたは¥記号で表示されます。 ダメ文字を含む文字列やパス、ファイル名を処理する場合には文字化け、検索不可など様々な不具合が起きることがあります。 ダメ文字には ー ソ 十 表 など、使用頻度の高いものもあるので cp932を扱う場合には注意が必要です。 また広義には2byte目が 0x7c のパイプ文字 | になっている文字や、2byte目が正規表現などのメタ文字と重なる文字も含む場合もあります。 ダメ文字問題は正規表現をはじめとする様々な言語、システムで制御用のメタ文字として扱われる文字と同じバイト列が、SJISの漢字の2byte目に含まれていることにより起こります。 特に 0x5c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く