約 6,709,575 件
https://w.atwiki.jp/skill2linux/pages/16.html
基本的に、utf-8 を使用するのが好ましい。 だが、結構統一するのが面倒だったりする。 まず、 use utf8; を宣言して、スクリプト自体が utf8 を使用している事を明示化する。 ※ 旧 Perl は、色々な文字コードが存在しているため、utf8 であることを明示化する必要がある。 その次に、 標準出力、標準エラー出力、標準入力を明示化する binmode STDOUT, " utf8"; # 標準出力 binmode STDERR, " utf8"; # 標準エラー出力 binmode STDIN, " utf8"; # 標準入力 後は、 ソース自体の文字コードを utf8 にすること。 これで、記述するスクリプトは、utf8 で統一される。 ※ 標準入力(ようは受け取るデータ) が、utf8 じゃない場合は、やっちゃうとアウト ※ 例えば、OS の文字コードが、euc-jp とかだと、入ってくるデータがアレなので、駄目。 但し、他のライブラリの関数を使用した場合は、 戻り値や、エラーメッセージが utf8 で返ってこない可能性があるので、 文字コードを判断しなければならない。 例えば以下の場合… use utf8; eval { OPEN( IN, $file_path) or die "$!"; }; if($@) { print $@; } $@ に何の文字コードが入ってくるかは、状況によりけり。 その為、$@ が utf8 かを判断する必要がある。 その為、 以下のよう、utf8 に decode する。 use utf8; use Encode; eval { OPEN( IN, $file_path) or die "$!"; }; if($@) { # UTF8ではない場合 unless( utf8 is_utf8($@) { # utf8 にデコード(UTF8 に変換)する $@ = Encode decode( utf-8 , $@); } print $@; } 他の注意点としては、 標準出力、標準エラー出力、標準入力は既に utf8 としている為、 encode して出力する必要はないと言うこと。 encode( utf-8 , "あああ" ); としてしまうと、utf8 - utf8 で文字化ける。 但し、他の文字コードに変換するときは必須。 例えば、cp932 文字コードでファイル出力する場合は、 encode( cp932 , "あああ" ); で、明示的に変換する事。
https://w.atwiki.jp/wiki2_rock/pages/12.html
文字コードの種類 日本語の文字セットは、ISO-2022-JP(JIS)、Shift_JIS、Windows-31J、EUC_JPの4種類である。 Shift_JIS 日本語文字コードの一つ。Microsoft社によって策定された。文字の1バイト目を見るだけで漢字か1バイト文字(いわゆる半角英数字)か分かる、等幅フォントで表示した場合に画面上の桁数とバイト数が一致するなどの特長から、MS-DOSやWindows、Mac OSなど、パソコンの標準文字コードとして広く普及した。 Shiftは小文字、JISは大文字、間はハイフンではなくアンダースコアなので要注意。 Windows-31J 別名「Windows Codepage 932」。Shift_JISを拡張した、Windows環境で標準的に用いられている文字セット。 WJavaではJDK 1.2以降で「MS932」という名称でサポートされており、JDK 1.4.1以降はWindows-31JというIANAの正式名称でも利用可能になっている。 Windows-31Jは、以下のようなWindows機種依存文字を含んでおり、JPSのpageディレクティブにSHIFT-JISを指定した場合は以下の文字は文字化けする。 NEC特殊文字①②③ⅠⅡⅢ㍉㌔㌢№℡㈱など IBM特殊文字髙など MacintoshなどのOSにおける「Shift_JIS」はWindows-31Jとは異なる。例えばWindowsにおけるの文字コード0x8740に対し、Macintoshでは「(日)」というMac機種依存文字が割り当てられている。 ページ内でWindows機種依存文字を使用したいときは、Shift_JISの代わりにWindows-31Jを指定することで文字化けを回避可能なケースもある。Safariでは、文字コードにWindows-31Jが正しく指定されていれば、Windows機種依存文字も表示可能。 ISO-2022-JP 別名JIS。JIS規格によって規定されている日本語の文字コードの一つ。Shift JISコード、日本語EUCと並んでインターネット上でよく使われる文字コードである。 EUC_JP Extended UNIX Code。 日本語UNIXシステム諮問委員会の提案に基づいて1985年にAT T社が定めた、複数バイトの文字を扱う文字コードの枠組み。日本語だけでなく複数バイト言語の各国の文字コードが規定されている。日本語のEUCコードを特に「EUC-JP」「日本語EUC」と呼ぶ。 参考:UTF UCS-2やUCS-4(Unicode)で定義される文字集合を用いて記述された文字列をコンピュータが扱いやすいようにバイト列(数値の列)に変換する方式。1文字を1~6バイト(現状では最長4バイト)の可変長の数値(バイト列)に変換するUTF-8、UCS-2の集合の中にUCS-4の一部の文字を埋め込むためのUTF-16、Unicodeをメールで使用するためのUTF-7、すべてのUCS-4文字を4バイトで表現するUTF-32の4種類がある。 文字コード変換について 概要 Javaでは、すべての文字をUnicodeとして処理している。そのため、JVMが外部に対して文字を出力する際には、Unicode→各種文字コードへの変換が必要になる。逆にJVMが外部から文字を入力する場合は各種文字コード→Unicodeの変換が必要になる。 Webアプリケーションでは、以下のような状況で文字の相互変換が行われる。 JSPファイルがサーブレット・コンテナに読み込まれるとき Webブラウザからリクエストを受信するとき Webブラウザにレスポンスを送信するとき データベースやファイルにアクセスするとき メールを送受信するとき 変換方式の指定 pageEncodingWebアプリケーションサーバが、外部→JVMにファイルが入力された場合(クライアントからのHTTPリクエスト)、文字セットからUnicodeに変換する際に用いるエンコーディング方式を指定する。 contentTypeJVMからコンテンツをWebブラウザに出力する際にWebアプリケーションが使用するUnicode→文字セットの変換方式。 相互変換のミスマッチ たとえば以下のように相互変換方式を指定したとする。 %@page language="java" contentType="text/html; charset=Shift_JIS" pageEncoding="Windows-31J" % このとき「~-¢£」などの文字をアプリで使用した場合、文字化けが発生する。 メカニズムは以下のとおり。 ページエンコーディングが「Windows-31J」なので、WASはJSPファイルがWindows-31Jで作成されたものとしてUnicodeに変換する。 コンテントタイプが「Shift_JIS」なので、WASはUnicodeから「Shift_JIS」に文字コードを変換する。 上記に示した文字に対する変換コードポイントが2方式の間で異なるため、元の文字に戻すことができずに文字化けが起こる。 指定方法 contentTypeの指定 JSPがサーバからクライアントにデータを返却する際、pageディレクティブ-contentType-charsetに指定されたエンコーディング方式に従って、Unicodeから各文字セットに変換する。 contentTypeを指定しない場合、デフォルトでは %@page contentType="text/html; charset=ISO-8859-1" % が指定される。ISO-8859-1は英数字と記号のみの文字セットなので、日本語などの2バイト文字は表示できない。したがって、日本語を扱いたい場合(扱いたくない訳ないがな)以下のように明示的に指定する。 %@page contentType="text/html; charset=Windows-31J" % pageEncodingの指定 クライアントからのリクエストデータを、WASがUnicodeに変換する際のエンコーディング方式を指定する。省略することもできるが、その場合はcontentTypeと同じ方式で変換される。 %@page pageEncoding="Windows-31J" %
https://w.atwiki.jp/atyou/pages/73.html
文字コードの基本 http //itpro.nikkeibp.co.jp/article/lecture/20070209/261534/ Ascii Code http //homepage1.nifty.com/tabotabo/ccc/asci.htm 文字コードの話 http //euc.jp/i18n/charcode.ja.html Unicodeでのバックスラッシュと¥の違い http //likealunatic.jp/2008/01/10_unicode.php 使用したコード JIS X 02132000-2004 surrogate pairs http //w3.kcua.ac.jp/~fujiwara/jis2000/jis2004/jisx0213-2004-surro.html JIS2000-2004情報 http //w3.kcua.ac.jp/~fujiwara/jis2000/ Shift_JIS 文字コード表 http //hp.vector.co.jp/authors/VA039433/shift_jis-table.html 文字コード表 シフトJIS(Shift_JIS) http //charset.7jp.net/sjis.html JIS X 0213 FAQ http //seclan.dll.jp/ccjx0213.htm [ThinkIT] 第1回:Windows Vistaだと何が起こるのか (1-3) http //www.thinkit.co.jp/free/article/0707/14/1/ シフトJIS キャラクタコード表 http //www.tamasoft.co.jp/ja/general-info/sjis2.html 文字コードについて(シフトJISの問題) http //park3.wakwak.com/~ozashin/sw_tips/webapp_tips/sjis_charset.html JIS X 0213 - Wikipedia http //ja.wikipedia.org/wiki/JIS_X_0213 Shift-JISとUnicodeの相互変換 http //www.astralsystem.com/ud/jis2uni.html VistaでUnicode以外の選択肢はなかったのか?──京大の安岡助教授が語る:ITpro http //itpro.nikkeibp.co.jp/article/COLUMN/20061222/257650/ Vistaで化ける字,化けない字:ITpro http //itpro.nikkeibp.co.jp/article/COLUMN/20061211/256519/ 文字コードの識別 http //www.asahi-net.or.jp/~ax2s-kmtn/ref/code_id.html @IT:Windows TIPS -- Tips:文字コードを変換する http //www.atmarkit.co.jp/fwin2k/win2ktips/395codeconv/codeconv.html
https://w.atwiki.jp/mlnk/pages/38.html
文字コード 画像の横軸が上位1バイト、縦軸が上位1バイト。 CP932 Microsoft独自のShift_JIS拡張。 シングルバイトは0x00~0x7Fおよび0xA1~0xDF。(unsigned char)((code^0x3F)-0xE0) 0xBF 第一バイトは0x81~0x9Fおよび0xE0~0xFC。(unsigned char)((code^0x20)-0xA1) =0x3B 第二バイトは0x40~0x7Eおよび0x80~0xFC。((unsigned char)(code-0x40) =0xBC) (code!=0x7F) http //unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT CP932の文字コード分布 CP932をUnicodeに変換した場合の文字コード分布 『』
https://w.atwiki.jp/dragonkiller/pages/207.html
文字コード ▲トップへ戻る 目次 文字コード/目次概要/主な種類/キーワード ショップ/Shift_JIS/UTF-8/EUC-JP ポータルサイト/Shift_JIS/UTF-8/EUC-JP 検索エンジン/Shift_JIS/UTF-8/EUC-JP ホームページ/Shift_JIS/UTF-8/EUC-JP ブログ/Shift_JIS/UTF-8/EUC-JP WIKI/Shift_JIS/UTF-8/EUC-JP 掲示板/Shift_JIS/UTF-8/EUC-JP テンプレート/Shift_JIS/UTF-8/EUC-JP 参考資料 脚注 関連項目 外部リンク 検索/キーワード/画像/掲示板 概要 主な種類 Shift_JIS UTF-8 EUC-JPUNIXなど使用 キーワード ■文字コードの選択 サーバーの動作環境で異なる ■文字化け 異なる環境から移行(引越し)した場合に影響があると思われる ■アドレス 日本語を用いたアドレスはそのまま使えない URLアドレスをデコード ショップ Shift_JIS ■Amazon.co.jp http //www.amazon.co.jp/ ■ビックカメラ.com http //www.biccamera.com/ ■ソフマップ.com http //www.sofmap.com/ UTF-8 ■ヨドバシ.com http //www.yodobashi.com/ EUC-JP ■DMM http //www.dmm.com/ ■楽天市場 http //www.rakuten.co.jp/ ポータルサイト Shift_JIS ■@nifty http //www.nifty.com/ ■Excite エキサイト http //www.excite.co.jp/ UTF-8 ■Yahoo! JAPAN http //www.yahoo.co.jp/ ■はてな http //www.hatena.ne.jp/ ■BIGLOBE http //www.biglobe.ne.jp/ EUC-JP ■Infoseek楽天 http //www.infoseek.co.jp/ 検索エンジン Shift_JIS UTF-8 ■google http //www.google.com/ ■yahoo http //search.yahoo.co.jp/ ■fc2 http //search.fc2.com/ ■楽天ウェブ検索 http //search.www.infoseek.co.jp/ EUC-JP ホームページ Shift_JIS ■Yahoo!ジオシティーズ http //geocities.yahoo.co.jp/ ■infoseek isweb http //isweb.www.infoseek.co.jp/ UTF-8 EUC-JP ■FC2WEB http //www.fc2web.com/ ブログ Shift_JIS UTF-8 ■liveddor http //blog.livedoor.com/ ■楽天 http //plaza.rakuten.co.jp/ ■Excite ブログ http //www.exblog.jp/ EUC-JP ■yahoo http //blogs.yahoo.co.jp/ ■fc2 http //blog.fc2.com/ ■goo ブログ http //blog.goo.ne.jp/ ■はてなダイアリー http //d.hatena.ne.jp/ ■Ameba (アメーバ) http //ameblo.jp/ WIKI Shift_JIS UTF-8 ■AWikipedia http //ja.wikipedia.org/ ■@ウィキ http //atwiki.jp/ ■fc2 http //wiki.fc2.com/ EUC-JP ■livedoor wiki http //wiki.livedoor.com/ 掲示板 Shift_JIS ■2ちゃんねる http //2ch.net/ UTF-8 EUC-JP テンプレート Shift_JIS UTF-8 EUC-JP 参考資料 脚注 関連項目 外部リンク 検索 キーワード ■Google 文字コード 画像 ■Google AAA BBB ■Flicker AAA BBB 掲示板 ■2ちゃんねる 文字コード
https://w.atwiki.jp/worktip/pages/13.html
iconvでの文字コード変換 iconvを使用した文字コード変換ではまったので注記 UTF-8 = Shift-JIS 文字コードをUTF-8とShift-JISで相互変換する場合に特定の文字が処理系で違うコードに変換されるようです。(ソフト依存??) その他の文字についてはまだ調べてないが、「-」(IMEでは[全]マイナスと表記)をWindows上でUTF-8として入力すると、EF BC 8D(EFBC8D)となる。 しかし、調べてみると、正しくはE2 88 92(E28892)らしく、iconvで「UTF-8- Shift-JIS- UTF-8」の変換を行うと「Shift-JIS- UTF-8」のところで不可逆な変換となりバグってしまう。 とりあえず、IMEからの入力は無理っぽかったので、iconvでE2 88 92のコードに変換してからコピペした。 ほかにもこんな文字があるのかなぁ。。。 名前 コメント
https://w.atwiki.jp/hideaki0121/pages/157.html
ファイルの文字コードの設定 1.[ESC]+x (または Alt + x) 2.M-x set-buffer-file-coding-system 3.好きな文字コードを選ぶ Shift-JISなど
https://w.atwiki.jp/phptest/pages/29.html
難しいし、他言語はTもよく知らない為、指南もしにくいので後回しでいいです。 文字コードとは 文字コードとエンコーディングとcharsetについてより複雑な説明 参照:「いいから俺文字コード」シリーズ Java Javaにおいては、文字を扱うクラスや型(String, StringBuffer, char)は、すべて UTF-16 で符号化されている。 他の文字コードと相互変換する場合は、byte[] 型を通す。 System.out.println(System.getProperty("file.encoding")); //MS932 String str = "テスト"; byte[] codes = str.getBytes(); //プラットフォーム別(※実行時の環境変数か何かで決定される。なんだっけ?) codes = str.getBytes("MS932"); //コード名称明記 str = new String(codes, "MS932"); //byte[] から char[] に変換。 System.out.println("codes "+codes); //byteコードなので出鱈目に見える System.out.println("REcode "+str); //REcode テスト 変換テーブルは JRE/JVM に内蔵される(※のか?)eclipseで文字コードを設定できます。 エンコーディングの変更方法 PHP デフォルトのエンコーディングを変更する場合はphp.iniの1198行目あたりにある記述を書き換えます mbstring.internal_encoding = SJIS エンコーディング mb_convert_encoding関数を使用できます。 $str = "元になっている文字列"; print($str." br "); //もとになっている文字列 $str = mb_convert_encoding($str, "UTF-8", "auto"); print($str); //蜈�↓縺ェ縺」縺ヲ縺�k譁�ュ怜� 参照:PHPマルチバイト文字列関数 PHPでもヘッダーを使って文字コードの記述が出来ます。 ?php header("Content-Type text/html; charset=SJIS"); echo " h1 インデックス /h1 "; php? ただし、ヘッダーより前に構文が書けなくなるので、html記述などが出来なくなります。 参照:PHPマニュアル-ネットワーク関数 javascript htmlファイルのmetaタグ内部につけることで宣言可能です。 バージョンやドキュメント宣言とは分けて書くことが出来ます。 !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http //www.w3.org/TR/html4/loose.dtd" head meta http-equiv="Content-Type" content="text/html;charset=UTF-8" meta http-equiv="Content-Script-Type" content="text/javascript" title JavaScript テスト /title /head body p Test /p /body /html さらに内部エンコーディングはUTF-16でできており、文字コード変換用にescape関数、unescape関数が存在します。 var str = "\u3042\u3044\u3046\u3048\u304a"; var str2 = "あいうえお"; document.write(escape("\u3042\u3044\u3046\u3048\u304a")); //%u3042%u3044%u3046%u3048%u304A document.write(unescape("\u3042\u3044\u3046\u3048\u304a")); //あいうえお document.write(str); //「あいうえお」と出ましたが環境で変化するかもしれません document.write(escape(str2)); //\u3042\u3044\u3046\u3048\u304a document.write(unescape(str2)); //あいうえお 参照:Javascriptのescape関数で判読を難しくする
https://w.atwiki.jp/dai7messi19/pages/12.html
javaでの文字コード判定法 SJIS protected final InputStream transform( final InputStream in, final String[] convertTable ) throws IOException { logger.dump("SJIS判定処理開始"); // 格納用変数の生成 StringBuilder sb = new StringBuilder(); int code = 0; int wideChar = 0; // 判定フラグ boolean isWideCharMode = false; while ((code = in.read()) -1) { // 読み込んだ文字数分繰り返します if (isWideCharMode) { // 読んだのが2byte文字の2byte目の場合 wideChar += code; // 文字コード変換表格納Arrayから変換後のコードを取得してsbに格納する。 if (convertTable[wideChar] == null) { convertTable[wideChar] = QUESTION; } sb.append(convertTable[wideChar]); // 再び判定を行うためにフラグをfalseにする。 isWideCharMode = false; continue; } if (code BORDER_CHAR) { // 読んだのが1byte文字の場合 // 文字コード変換表格納Arrayから変換後のコードを取得してsbに格納する。 if (convertTable[code] == null) { convertTable[code] = QUESTION; } sb.append(convertTable[code]); isWideCharMode = false; } else if ( (code = BORDER_KANA_MINI) (code = BORDER_KANA_MAX) ) { // 読んだのが半角カナの場合 // 文字コード変換表格納Arrayから変換後のコードを取得してsbに格納する。 if (convertTable[code] == null) { convertTable[code] = QUESTION; } sb.append(convertTable[code]); isWideCharMode = false; } else { // 読んだのが2byte文字の1byte目の場合 // 1byte目に256をかけます wideChar = code * BYTE2; // 2byte文字の2byte目にする為にフラグをtrueにする isWideCharMode = true; } } logger.dump("SJIS判定処理終了"); // System.out.println(sb.toString()); // 読み込んでUTF-16に変換した文字列をConvertResultにセットします logger.dump("セットする値=" + sb.toString()); setSjisConvertResult(sb.toString()); // UTF-16に変換して返却 return new ByteArrayInputStream(sb.toString().getBytes("UTF-16")); }
https://w.atwiki.jp/anuban/pages/34.html
文字コード - Wikipedia charset=TIS-620 charset=windows-874