タグ

utf-8に関するshimookaのブックマーク (11)

  • UTF-8で4バイトになる文字 at softelメモ

    JIS X 0213の第3・4水準漢字の一部が4バイトとなる。マイナーな文字ですね。 例えば、第1・2水準漢字だけ対応していればよい案件などでは考慮しなくてよいでしょう。 MySQLではこのUTF-8で4バイトになる文字を扱えないのだとか(MySQL6なら対応したそうだ)。 数値文字参照で全部書いてみた。 (パッチのあたっていないWindowsXPなどでは表示されないです。) 𠀋 𡈽 𡌛 𡑮 𡢽 𠮟 𡚴 𡸴 𣇄 𣗄 𣜿 𣝣 𣳾 𤟱 𥒎 𥔎 𥝱 𥧄 𥶡 𦫿 𦹀 𧃴 𧚄 𨉷 𨏍 𪆐 𠂉 𠂢 𠂤 𠆢 𠈓 𠌫 𠎁 𠍱 𠏹 𠑊 𠔉 𠗖 𠘨 𠝏 𠠇 𠠺 𠢹 𠥼 𠦝 𠫓 𠬝 𠵅 𠷡 𠺕 𠹭 𠹤 𠽟 𡈁 𡉕 𡉻 𡉴 𡋤 𡋗 𡋽 𡌶 𡍄 𡏄 𡑭 𡗗 𦰩 𡙇 𡜆 𡝂 𡧃

    UTF-8で4バイトになる文字 at softelメモ
  • PHP、デフォルトエンコーディングをUTF-8へ (default_charset) | エンタープライズ | マイコミジャーナル

    PHP: Hypertext Preprocessor PHP開発チームはPHP6におけるUTF-16化を断念。開発ブランチPHP5.3へロールバックし、これまでに開発した機能をロールバックしたブランチへバックポートするという方針へ変更した。これはPHP6で取り組まれたUTF-16対応実装が予想以上に困難だったためと、UTF-16に移行することで得られる利益よりも不利益が多いことが判明したためだ。PHPにおける文字集合とエンコーディング回りの議論は振り出しに戻った。 しかし、変化は確実に訪れている。Mind the encodings!において「default_charset」がiso-8859-1からUTF-8へ変更されたことが紹介されている。ブラウザはサーバからのデータにエンコーディングの指定がなかった場合、これまではISO-8859-1をデフォルトエンコーディングとしていた。逆にP

  • Mac版subversionの濁点問題(utf-8-mac) « kekelog

    ウェブサイトのHTMLからプログラムのソースコード、ドキュメントなど仕事で使うすべてのファイルをSubversionで管理しているんだが、MacのsvnXでチェックアウトすると、濁点の入ったファイル名だけ2つあるように表示され、コミットできなくなるという問題がある。 こんな感じ↓ ? ウェブサイト.txt ! ウェブサイト.txt 原因はOS Xの文字コードがLinuxなどのUTF-8ではなく、UTF-8-MACとなっていることが原因。 UTF-8-MACは濁点を分解して格納するようになっているそうで、「ウェブ」は「ウェフ・(・はなんかの文字)」となるため、ファイルが2つあるように見えてしまうそうな。 この問題を解消するパッチを適用する方法をメモ。 参考にしたページ SubversionのUTF-8-MACについて MacユーザのためのSubversionTips パッチの適用方法

  • 講習会「文字集合と文字エンコーディング」を開催しました — ディノオープンラボラトリ

    「文字集合と文字エンコーディング」というタイトルで、経験2〜3年目の人をターゲットに社内勉強会を開催しました。文字集合という単語を知っている必要はないですけど、少なくともUTF-8とShift_JISとでは扱える文字の種類数が違うことだけは伝えたかったので、その意味では目標が達成できたと思っています。 まとめ 文字集合とは、扱える文字の集合 JIS X 0208なら6000文字くらいの日語の文字 UCS-2なら60000文字くらいの世界中の主要な文字 文字エンコーディングとは、文字の集合をバイト列に直す方式 Shift_JISはJIS X 0208(など)を1〜2バイトにする UTF-8はUCS-2を1〜3バイトにする 文字エンコーディング関連のツールを使いこなそう nkfやlvを使いこなそう 日語を探すならlgrep 最終兵器:hexjaで16進ダンプ ムービー

  • UnicodeとUTF-8の違いは? - 自分的まとめ - Humanity

    UnicodeとUTF-8の違いは? - Humanityはあんなに反響があるとは思わなかった。 ブコメにコピペじゃなくてまとめを書いてくれれば良い資料になるのにと書いてあったので今度は自分の知識をまとめてみる。 と言っても自分もあのスレを見るまでUnicodeとUTF-8を混同してた一人なのでほとんどあのスレからの知識ですが...orz なので簡単なまとめ。引用を多分に含みます。間違ってたらつっこんでいただけるとうれしいです。 調べる際に弾さんのエントリがかなり参考になったので(今頃意味が分かってきた)関連リンクとして度々載せさせていただきます。 参考リンクじゃない理由は解説しているエントリだけじゃなくて既存のエンコーディングを拡張するといった高度なエントリも含まれているため。 UnicodeとUTF-8 まず一番重要なことは Unicodeは「符号化文字集合(Coded Charact

    UnicodeとUTF-8の違いは? - 自分的まとめ - Humanity
  • 第4回 UTF-8の冗長なエンコード | gihyo.jp

    今回は、文字コードに関連するセキュリティの話題では古参ともいえるUTF-8の冗長なエンコードというテーマについて紹介します。 UTF-8とは UTF-8は、各文字を1~4バイトの可変長で表現するUnicodeの符号化方式のひとつです。 U+0000からU+007Fの範囲の文字を0x00から0x7Fの1バイトで表現しているため、US-ASCIIと互換性がある、バイト列の途中からでも文字の先頭バイトを簡単に検出できる、多バイト文字の途中に0x00や0x5C(\⁠)⁠、0x2F(/)などが現れない、などの特徴があります。 UTF-8での文字のビットパターンは表1のようになります。 表1 UTF-8でのビットパターン

    第4回 UTF-8の冗長なエンコード | gihyo.jp
  • UTF-8の冗長なエンコードとは何で、なんでそれがセキュリティ的に危ないのか?を文字コード知識レヴェル3くらいの凡プログラマが考えてみる - tohokuaikiのチラシの裏

    何故かあたり前にならない文字エンコーディングバリデーション | yohgaki's blog ってあるように、いまいち文字コードの不正な判定による危険性ってのが分かってない。 SJISの問題は、(2/3)SQLインジェクションを根絶!セキュア開発の極意 - 第5回■注目される文字コードのセキュリティ問題:ITproの記事がわかりやすかった。 というか、やっぱりPHP使ってると誰でも一度は「なんじゃこの『¥』は?」って思うもんなんで。 なるほど、確かに↓の図のように「あるバイト」が2つの意味を持つっていう文字コード形態はやばいんだなと。 EUC-JPはそんなことはしないで、1つのバイトには1つの意味しか取らせない。 だけど、これでも文字化けが起こることがある。経験的には、「マルチバイトをXX文字で切り落としたい」とかやった場合。ちゃんと文字コードを判定してくれるPHPでいえばmb_subst

    shimooka
    shimooka 2009/09/10
    (最後が)分かりやすい
  • UTF-8→SJIS/EUC-JPの重複文字をまとめてみた - hnwの日記

    文字エンコーディングの変換を行うと、異なる2文字が同じ文字に変換されることがあります。このような文字を重複文字と呼ぶことにします。UTF-8→Shift_JISおよびUTF-8→EUC-JPについて、重複文字を自分用の資料としてまとめてみました。 MacOSX上のPHP5.2.9での実験結果ですが、プログラミング言語や環境によらず気をつけるべき文字一覧ということになると思います。 色のついている部分が重複している部分です。「-」となっているのは変換できなかった文字です。また、ヘッダのカッコ数字ごとに文字エンコーディング変換に利用した関数が異なります。詳細は下記の通りです。 (1) mb_convert_encoding($char, "Shift_JIS", "UTF-8") (2) mb_convert_encoding($char, "SJIS-win", "UTF-8") (3) i

    UTF-8→SJIS/EUC-JPの重複文字をまとめてみた - hnwの日記
  • PHPで UTF-8←→SJIS の変換を行う場合の注意:地方で活動するweb制作者の日々を綴るblog

    2007年03月01日03:25 カテゴリ技術-PHP PHPUTF-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")これだけ? って感じですが、これで問題なく変換できます。 これだけでなぜ通るのか、ちょっと調べたけれどよくわかりませんでした。 詳し

  • 日本語文字コード

    フォームメール(mb_send_mail)php ジェネレーター オープンフォトライブラリー自由に画像を登録・紹介できます 文字コード(日語漢字コード表) 日語漢字コード表が、Shift-JIS、EUC-JP、JIS、UTF-8と複数存在する事から、 ホームページ作成・維持管理、データ収集をする上で、文字コードについての多くの諸問題が発生します。 その解決に少しでもお役に立てれば幸いです 文字コード表(実体) シフトJISコード表 Shift-JIS による一覧表 EUCコード表 EUC-JP による一覧表 JISコード表 JIS による一覧表 JIS X 0201 (1976) to Unicode 文字コード表 Shift-JIS による一覧表 JIS X 0208 (1990) to Unicode 漢字コード表 Shift-JIS による一覧表(UTF-8のコードはこちらにあり

  • UTF-8 エンコーディングの危険性 - WebOS Goodies

    的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ

  • 1