環境依存文字


波ダッシュの文字化け

波ダッシュの文字化け 「~」とは: JIS規格(JIS X 0208)では「波ダッシュ(WAVE DASH)」という名前で定義されています。 [Shift_JIS]での16進コードは[0x8160] [Shift_JIS]の「波ダッシュ」は左から「上がって下がる」字体 [Unicode]の「WAVE DASH」は、左から「下がって上がる」字体が定義 [Shift_JIS]の[0x8160]は、[Unicode]の[U+301C]と同じ名称で、 [Unicode]の[U+FF5E]と似た文字の形をしている、 [Unicode]の「WAVE DASH」の字形である、左から「下がって上がる」字体は存在していませんでした。 Unicodeコンソーシアムが公開している、「Shift-JIS to Unicode」の2011/10/14版 ----------------------------------------------------------- Shift_JIS Unicode 0x8160 ←→ U+301C <対応文字なし> ← U+FF5E ----------------------------------------------------------- 波ダッシュと、全角チルダ問題 波ダッシュ 〜 0x8160(Shift_JIS) 0x301C(UTF-8) WAVE DASH(ユニコードポイント : U+301C) 全角チルダ ~ Shift_JIS には無い 0xFF5E(UTF-8) FULLWIDTH TILDE(ユニコードポイント : U+FF5E) 波ダッシュ(0x8160) を UTF-8 に変換すると、CP932と、Shift_JIS で変換結果が異なる実装がある いろんな実装毎に結構まちまちなのが問題 このため、Shift_JIS と、UTF8を行ったり来たりする環境だと、途中で、波ダッシュが、全角チルダに変わったり、全角チルダを Shift_JIS で解釈しようとして、存在しない文字扱いになったりする --------------------------------------------------------------------- 参考 : iconv の 変換ルール 元の文字コード 変換前の文字 変換後の文字 CP932 波ダッシュ(0x8160) 全角チルダ(0xFF5E) Shift_JIS 波ダッシュ(0x8160) 波ダッシュ(0x301C) ---------------------------------------------------------------------


機種依存文字とは   外字   機種依存文字と呼ばれる由来   機種依存文字のサンプル   IBMと文字   制御文字   ASCIIコード   unicode   unicodeその他   誤表示   数値参照文字   BOMとは   文字コード表とは   SJIS   EUCJP   NEC特殊文字とは   CP932とは   符号化文字集合とは   メールと文字化け   base64とは   mime形式とは   urlencodeとは   SJISとJISコードの違い   改行とは   空白文字   Base64   ASCII文字←→URLエンコードの対応表   phpでのダブルクォート(シングルクォート) の違い   URLエンコードの気を付けるポイント   デコードの重複の注意ポイント   マルチバイト文字列   htmlエンコーディング   python文字列扱い   php SJIS-WIN   正規表現   正規表現とエスケープ文字   よくつかう正規表現例   メタ文字   波ダッシュ   JWTとは   pythonの文字コード   リモートからsudoを実行   pythonをバージョンを指定して実行   タイムスタンプとは   jsonとは   csvとは   webmとは   円マークとバックスラッシュ問題   ajax cache問題   ajax 非同期・同期通信設定   javaScriptでURLエンコード方法   拡張子一覧