最終更新 2003-11-11 UCSとUTF ユニコードで文書を作るとき,文字コードの方式が2種類,あるいはそれ以上あることに気が付かれるかもしれません。例えば,一つはUnicodeとあるのに対し,もう一つはUnicode (UTF-8)と表記されているかもしれません。この2つは,また,その違いは何でしょうか(前者はUTF-16の一形態なのですが…)。 UCS-2とUCS-4 ユニコードが採択されることになった多言語用の文字コードセット,ISO-10846-1は,16ビット(16桁の二進数)でそれぞれの文字を表します。それをUCS-2 (Universal Character Set coded in 2 octets,「2つのオクテットでコードされたユニバーサル文字セット」)と称します。オクテットとは文字長の単位としての8ビット(8桁の二進数)のことです。 ユニコードの特定の文字は,例
次期Windows「Vista」から、日本語フォントが一新される。最新のJIS規格「JIS X 0213:2004」(JIS2004)を採用。常用漢字表にない「表外漢字」の正字体が打ち出せるようになる。その一方で、従来のWindowsで採用していた表外漢字の略字体が、そのままでは打ち出せなくなる。「葛」「辻」「飴」などといった字がその例だ。 「葛」なら、「ヒ」の部分が、L字の中に「人」が入った字体に変更。奈良県葛城市など略字体を正式名称に採用した自治体は、Windowsで正式名称が打ち出せなくなるなど、混乱も懸念されている。 マイクロソフトのウィンドウズ開発本部 リードプログラムマネージャの阿南康宏氏は「従来のWindowsで使えた文字がなくなるという認識は誤解。なくなるのではなく、正しい文字に変わる」と強調する。国語審議会で「正字」と認定された表外漢字が、これまでのWindowsで打ち出
2007年11月27日13:30 カテゴリLightweight Languages perl - 文字列ばらしはsplit //, $strで うーん、ここがあきまへん。 [を] 転置インデックスによる検索システムを作ってみよう! 9 my @char = ($c =~ /([\x00-\x7f]|[\xC0-\xDF][\x80-\xBF]| 10 [\xE0-\xEF][\x80-\xBF]{2}| 11 [\xF0-\xF7][\x80-\xBF]{3})/gsx); 文字列をばらして(utf8の)文字一つ一つの配列にするには、バイト列に正規表現をかますのではなく、utf8文字列にしてからそれにsplit //をかますのが一番です。単にわかりやすいだけではなく、その方がずっと高速です。以下、Benchmark。 #!/usr/local/bin/perl use strict; u
Perl-5.8 覚え書き Last Updated at $Date: 2005/12/04 04:00:59 $. このページは,Perl-5.8.2 を使う上で困ったことなどの覚え書きです. 日本語を含むスクリプトを書く 日本語 EUC でスクリプトを書く UTF-8 でスクリプトを書く 日本語を含むファイルを開く 連想配列で日本語を使う 日本語を含む正規表現 文字コードの自動判定 古い Perl でも実行できるように書く 未解決の問題 日本語を含むスクリプトを書く Perl-5.8.x で日本語を扱うスクリプトを書く場合,大きく2通りの方法があります. 日本語 EUC でスクリプトを書く. UTF-8 でスクリプトを書く. どちらの方法でも, (1)ファイル入出力, (2)データベースアクセス, (3)プロセス間通信の3つに気をつけて, 明示的にバイト列を文字列に変換したり,また逆
このメモは、JavaScriptでクッキーを処理する場合のポイントをお示しし、URLエンコードに関わるトラブルを回避していただくことを目的にしています。お急ぎの方は3章と4章を飛ばして読んで頂いて構いません。なおこのメモはなるべくIEでご覧下さい。 目次 1. 1 クッキーとURLエンコーディング 2. 2 URLエンコーディングとは 3. 3 JavaScriptにおけるescape()とunescape()関数 4. 4 JavaScriptにおけるencodeURI、decodeURI、encodeURIComponent、decodeURIComponent 5. 5 それでは一体どうすればよいか? 6. 6 UTF-8のURLエンコード・デコード関数の例: プログラム例 7. 7 JSPとJavaScript間のクッキーによるデータ交換例 HTMLテキスト以外にウェ
2008年02月18日10:00 カテゴリLightweight Languages perl - utf8::is_utf8("\x{ff}") == 0 ちょうどいい機会なので、Perl 5.8以降におけるutf8フラグの立ち方を。 unknownplace.org - 2008/02/17 - utf8::is_utf8 ということで、"\x{6751}\x{702c}\x{5927}\x{8f14}" などというData::Dumper表記でかならずしも utf-8フラグがたつわけじゃない。ということがいいたかったんだと思うのだけれど、 \x{UUUUUU}とutf8 flag まずはクイズです。以下がどう出力されるかを答えなさい。 sub pfrag{ print utf8::is_utf8($_[0]) ? 1 : 0, "\n" } pfrag "Hell\xC3, worl
文字コードの多様化とインターネットやクライアント-サーバーなどの分散環境の普及によって,文字化けトラブルの頻度が飛躍的に拡大した。特に Webシステムでは,WebブラウザとWebサーバー,プログラム(スクリプト)言語,そしてデータベースと文字化けが発生する要因が数多く存在する。 Webサーバー側の文字化けは,他のコラムにお任せすることとして,今回はMySQLの文字化けに関して解説する。 文字化けの仕組み 文字化けは開発者にとって悩みの種である。しかし,文字化けの仕組みを少しでも知っていれば,意外と簡単に解決できるものだ。このコラムで,ぜひその知識を学んでほしい。 MySQL 4.1の変更点 さて,MySQLにおいては,バージョン4.1のリリースを境に文字化けが起きることが非常に多くなった。では,バージョン4.1は,それ以前のバージョンと何が変わったのだろうか。そこに文字化けを解決するヒント
Unicode の文字列をソースコードに埋め込む方法 Unicode の文字列をソースコードに埋め込む場合、直接 UTF-8 などで文字列を書く方法と、\uXXXX などのようにエスケープして表記する方法があります。後者の方法についてまとめてみました。 \uXXXX 形式の場合 Java, JavaScript, Python, C++, C (C99から) などの多くの言語では \uXXXX という表記 (universal character names) でUnicode の文字を文字列の中に埋め込めます。たとえば、「あいう」は "\u3042\u3044\u3046" となります。 \uXXXX で埋め込んだ文字がどのように解釈されるかは言語や処理系によって異なります。 gcc/g++ の場合、 -fexec-charset オプションで、実際に使う文字セット・エンコーディングを指
勉強を兼ねての勝手に翻訳シリーズ第3弾です。今回はJoel Spolsky氏のブログに掲載されていたThe Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)です。掲載されたのは2003年10月と、5年近く前のことなので、現状にそぐわないところもあるかもしれませんが、とても参考になる解説です。 ソフトウェ開発者なら絶対に最低限知っていなければならないユニコードと文字セットについて(言い訳はなしですよ!) 不可解なContent-Typeタグについてかつて疑問に思ったことはないでしょうか?おそらくHTMLファイルに書き込むものということは知ってるでしょうが、なんのためにそれなければいけないのかまでは知ら
はじめに Windows VistaのJIS2004対応により、WindowsのUnicode環境で使用できる日本語漢字の数が増えました。従来、12238字(Windows XP)だったのが13145字(Windows Vista)になり、907字追加されることになりました。これによって、JIS第3水準、JIS第4水準の漢字がすべてサポートされることになったのです(Windows XPまでは一部サポート)。 またWindows XPでも、パッチさえ当てれば、Windows Vistaと同じように追加907字を加えた13145字の漢字が使用できるようになりました。 ところが、この追加された907字の中には「サロゲートペア」という特殊な文字が304字あり、これらは今までのUnicodeの文字とは扱いが少し違います。この点について解説していきたいと思います。 対象読者 Unicode
UTF-8 で半角カナを判定 2006-11-09-3 [Programming] Perl で UTF-8 で半角カナを判定するには、 顔文字みたいな正規表現を使うと良いみたい。 なお、下記では全角になっていますが、「。」「゜」は半角です。 print if /[。-゜]/; 以下、確認スクリプト utf8hankana-test.pl。 begin 755 utf8hankana-test.pl.gz M'XL("+7C4D4``W5T9CAH86YK86YA+71E<W0N<&P`1<_)2L-@$,#Q^SS%9[Q8 ML>0J1H1"]>K!>'()M48-U"A)BP<1M.[5NN];L>[[OFM]F"IXZROX5P\._&!F MF!F8XB(]X7MZB^/JW;87DV+UF4Y]'<SEDR?YP51)O5D3+`](PK>5'_><:-SX MS7L
[Home] [Setting up Mac OS X] [Python]: [ファイルを読む] 日本語を使う Pythonで日本語を使う Python 2.4以降では、標準で日本語を扱うことができます。 PythonのソースコードをUTF-8で書くには 日本語を扱うPythonのスクリプトの中では、UTF-8の文字コードを使うのが 楽です。 Mac OS Xのターミナルで日本語を扱う場合は、 ここの「4. Terminalの設定を変える」の 指示に従ってください。 以下、ソースコードの簡単な例を示します。 #!/usr/bin/env python # -*- coding: utf-8 -*- import re jtext = u'子猫が隠れんぼをしています' print 'jtext has', len(jtext), 'Japanese characters.' if re.se
UTF-8 への移行計画 以前からやろうやろうと思っていた、 UTF-8 への移行計画を実施し ました。これまで手元のテキストファイルの類はすべて EUC-JP で 保存していたのですが、これを UTF-8 にしようという計画です。 Emacs の設定 まずは Emacs の設定です。これまで euc-jp となっていた部分を utf-8 に置き換えました。 (set-language-environment "Japanese") (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-buffer-file-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) 新規に作成したファイルの文字コードを UTF
ひさびさに Blog を書いてみる。 UTF-8 フラグがどうもウザいという人向けにこんな CPAN モジュールがあるそうな。 Unicode::RecursiveDowngrade hashref とか、arrayref とか複雑な構造になった変数 (たとえば XML や RSS を XML::Simple や XML::RSS 等で parse した構造) を、構造を変えることなく、値全ての UTF-8 フラグを一括で落としたい場合にベンーリ。 こんなんして使える模様。 use strict; use XML::Simple; use Unicode::RecursiveDowngrade; use Data::Dumper; my $ref = XMLin('hoge.xml'); # includes flagged UTF-8 my $rd = Unicode::Recursi
マイクロソフトは7月29日、次期Windows「Windows Vista」で日本語フォント環境を一新すると発表した。最新のJIS規格に対応するほか、新フォント「メイリオ」を搭載し、可読性を高めるという。 常用漢字表にない「表外漢字」は標準の字体が定まっておらず、2000年12月の国語審議会(現在の文化庁文化審議会国語分科会)が答申した「表外漢字字体表」でようやく基準が示された。 WindowsではJISが1990年に例示した字体を採用してきたが、「森鴎外」の「鴎」、「飴」などで一般の書籍などで使われてる字体と異なる事態が生じていた。 2004年2月に発表された「JIS X 0213:2004」(JIS2004)では、「表外漢字字体表」が示した「印刷標準字体」を全面採用した。同年9月の戸籍法施行規則改正で使えるようになった人名漢字の標準字体はJIS2004から採用されており、JIS2004
入力した「文字列」を数値実体参照の形に変換します。 入力された文字列はサーバに送信されません。 (基本的にはローカルで処理されます。) 文字列
ライセンスはどうなっていますか?商用利用ではどうすべきですか? † GPL か 有料のライセンスか。 2007年1月1日時点では Community : GPL Enterprise : 有料で別のライセンス GPL については http://www.gnu.org/home.ja.html をご覧ください。 ↑ mysqld が最低必要とする物 † basedir/share/ ディレクトリ以下(shareファイル。errmsg.sys や charsets/) datadir/mysql/ (mysql 権限データベース、テーブル) 権限テーブルや charsets/ がなければ mysqld は起動しない。 errmsg.sys はバージョンによって数が違うので、違うバージョンの errmsg.sys を使用していると mysqld が起動しない。 これらが起きた場合、.err ファ
Summary 設定すべき項目は以下. ;; Disable Output Buffering output_buffering = Off ;; Set HTTP header charset ; default_charset = EUC-JP ;; Set default language to Japanese mbstring.language = Japanese ;; HTTP input encoding translation is enabled. mbstring.encoding_translation = off ;; Set HTTP input encoding conversion to auto mbstring.http_input = pass ;; Convert HTTP output to EUC-JP mbstring.http_output
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く