文字コードとPHPに関するnoteiのブックマーク (5)

  • おぼえがき。 » [PHP]半角←→全角の変換方法

    mb_convert_kana(特定の日語の文字を半角カナにしたり、全角英数を半角英数にしたい場合などに用いられる関数)を使う 書式 $str = mb_convert_kana(変換元の変数,オプション,文字エンコーディング); 例 /* すべて半角に変換 */ $str= mb_convert_kana($str,"rnask","Shift_JIS"); /* すべて全角に変換 */ $str = mb_convert_kana($str,"RNASKV","EUC-JP"); オプション r : 「全角」英字を「半角(ハンカク)」に変換 R : 「半角(ハンカク)」英字を「全角」に変換 n : 「全角」数字を「半角(ハンカク)」に変換 N : 「半角(ハンカク)」数字を「全角」に変換 a : 「全角」英数字を「半角(ハンカク)」に変換 A : 「半角

  • mb_convert_kana()関数/PHP関数リファレンス

    ◆ 関数リファレンス mb_convert_kana( ) 引数で指定した文字列を第2引数で指定した変換オプションに従って変換します。また、第3引数には出力する文字エンコーディングを指定できますが、省略すると内部文字符号でエンコードされます。 なお、変換オプションの値は以下のとおりです。 Option意味

  • php:バイト数の取得(strlen は mb_strlen にオーバーロードされる): Script雑感

    長い間スクリプト使い続けてきて今更ながら覚え書きをしようと一念発起。 まー。節操もなく色々手を出しています。これからも。 JavaScript / PHP が主なところかな? strlen が mb_strlen にオーバーロード(置換)されてしまっている場合でも支障なくデータのバイト数を取得する方法です。 環境によっては strlen は ms_strlen にオーバーロードされているんですが(マニュアル:XCIV. マルチバイト文字列関数)、そんな場合、データのバイト数を取得するのに通常はどうするのでしょう? $volm = strlen(bin2hex($data)) / 2; $data:バイト数を取得したいデータ $volm:データ長(byte) これでマルチバイトのテキストでも画像でも、バイト数を取得できます。当たり前ですが。 ちなみに関数のオーバーロードに関する設定(mbst

  • mb_strlen関数 - こもろぐ @tenkoma

    ちょっと悩んだ。 コード <?php $str = "あいう"; print "{$str}は " . strlen($str) . "バイト, " . mb_strlen($str) . " 文字<br/>\n"; ブラウザ表示 あいうは 9バイト, 9文字おかしい。「3文字」になるはず…PHP: mb_strlen - Manualを見ると第二引数に文字エンコーディングを指定できるとあるので、「mb_strlen($str, 'utf-8')」とすると、目的の「3文字」が出力された。また、省略されたときは、内部文字エンコーディングが使われる、ともあるが、開発環境のphpinfo()のmbstring.internal_encodingに設定がされていなかった。なるほど。

    mb_strlen関数 - こもろぐ @tenkoma
  • CGIで特定の文字(表・予・申・能など)が文字化けする

    ・CGIで特定の文字(表・予・申・能など)が文字化けする 自動バックアップ・テスサーバー付きの新機能スマートリリース CGIやPHPなどの技術系でSuper FAQ(よくある質問)がこれです。下記のような文字化けが発生します。 文字化けしている漢字は「表」「予」「申」「能」「十」「ソ」などです。第1章の「Netscape4.Xのdocument.write時の文字化け」は音が「シ」のものに集中的に文字化けが見られるなど、顕著な規則性がありました。今回の文字化けは、「音」が似通っているという特色はありません。 しかし、それぞれの漢字のShift_JISコードを調べてみると、ある規則性が浮かび上がってきます。Shift_JISコードを調べるには、序論で紹介したようなIMEやことえりの文字一覧表でもいいのですが、ここではURLエンコードを利用してみます。 URLエンコードは、プログラマーでない方

  • 1