<?xml version="1.0" encoding="UTF-8" ?>
<rss version="0.91">
  <channel>
    <title>TKTech -- コンピュータTips </title>
    <description>私のコンピュータTips集 というかメモです。プログラムやコンピュータの知識、技術全般です。</description>
    <link>http://tech7.blog.shinobi.jp/</link>
    <language>ja</language>
    <copyright>Copyright (C) NINJATOOLS ALL RIGHTS RESERVED.</copyright>

    <item>
      <title>PHPでページの応答時間（処理時間）をミリ秒単位で計算する</title>
      <description>&lt;p&gt;PHPで、ページがリクエストされ、PHPスクリプトが動作してから、応答を返すまでの処理時間を計算する。（ミリ秒単位で計算。）サーバまでの到達時間やクライアントまでの到達時間は除く。&lt;br /&gt;
全てのページに共通して埋め込んでおけば、どのページが遅いか簡単にわかるので、大変役に立つ。&lt;br /&gt;
&lt;br /&gt;
概略：&lt;br /&gt;
　開始時に microtime(TRUE)で float値 (sec.msec)を保持。&lt;br /&gt;
　終了時も同様に取得し、差を計算。これだけ。&lt;br /&gt;
　【注意】PHPマニュアル見ればわかるけど、「microtime関数は、gettimeofday() システムコールをサポートする オペレーティングシステムでのみ使用できる」です。&lt;br /&gt;
&lt;br /&gt;
&lt;font color=&quot;#ffffcc&quot;&gt;//----------&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//開始&lt;br /&gt;
$time_start = microtime(TRUE);&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
//何かの処理&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
//終了&lt;br /&gt;
$time_end = microtime(TRUE);&lt;br /&gt;
//終了-開始&lt;br /&gt;
$time = $time_end - $time_start;&lt;br /&gt;
&lt;br /&gt;
//表示してみる&lt;br /&gt;
printf(&amp;quot;%040.25f&amp;lt;/br&amp;gt;&amp;quot;, $time_start);&lt;br /&gt;
printf(&amp;quot;%040.25f&amp;lt;/br&amp;gt;&amp;quot;, $time_end);&lt;br /&gt;
printf(&amp;quot;%040.25f&amp;lt;/br&amp;gt;&amp;quot;, $time);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
//----------&lt;br /&gt;
&lt;/font&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;</description> 
      <link>http://tech7.blog.shinobi.jp/php/php%E3%81%A7%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E5%BF%9C%E7%AD%94%E6%99%82%E9%96%93%EF%BC%88%E5%87%A6%E7%90%86%E6%99%82%E9%96%93%EF%BC%89%E3%82%92%E3%83%9F%E3%83%AA%E7%A7%92%E5%8D%98%E4%BD%8D%E3%81%A7%E8%A8%88%E7%AE%97%E3%81%99%E3%82%8B</link> 
    </item>
    <item>
      <title>メールを受信してPHPスクリプトを動作させる .forwardの設定方法 (smrshは要チェック)</title>
      <description>&lt;p&gt;&lt;br /&gt;
やりたいことは以下。&lt;br /&gt;
・メール受信&amp;rarr;メール内容をPHPで処理&lt;/p&gt;
&lt;p&gt;(1) .forward の登録&lt;br /&gt;
&amp;nbsp;メールを転送するのに使うものだが、パイプによりプログラムとかに内容を渡せる。&lt;br /&gt;
&amp;nbsp;(例)&lt;br /&gt;
&amp;nbsp; &amp;quot;|/usr/bin/php /www/html/hoge.php&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;これでメール受信したとき、phpコマンドにより、hoge.phpが実行される。&lt;/p&gt;
&lt;p&gt;(2) hoge.php の先頭に #!/usr/bin/php -q と書く&lt;br /&gt;
&amp;nbsp;(例)&lt;br /&gt;
&amp;nbsp; #!/usr/bin/php -q&lt;br /&gt;
&amp;nbsp; &amp;lt;?php&lt;br /&gt;
&amp;nbsp; ...&lt;br /&gt;
&amp;nbsp; ?&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;これでPHPコマンドラインインターフェースで実行される。&amp;quot;-q&amp;quot; でHTTPヘッダを抑制。&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
(3) PHPで受信メール内容を読み取る方法&lt;br /&gt;
&amp;nbsp;標準入力で渡されるので、標準入力の読取と同じ。&lt;br /&gt;
&amp;nbsp;(例)&lt;br /&gt;
&amp;nbsp; if(($stdin=fopen(&amp;quot;php://stdin&amp;quot;,'r') )!==FALSE ) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while( !feof($stdin) ) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $line = fgets($stdin, 4096);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; fclose($stdin);&lt;br /&gt;
&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;※メールを送りつけて動作を確認するも、動く形跡なし。。&lt;br /&gt;
調べたところ、.forwardのパイプ渡しで実行できるコマンドが &amp;quot;smrsh&amp;quot;という&lt;br /&gt;
やつで制限されているようだ。&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;環境によって設定場所はことなるようだが、うちは、以下でできた&lt;br /&gt;
/etc/smrsh のディレクトリにphpのコマンドを置く（シンボリックリンクで良い）&lt;br /&gt;
(例)&lt;br /&gt;
#cd /etc/smrsh&lt;br /&gt;
#ln -s /usr/bin/php&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;</description> 
      <link>http://tech7.blog.shinobi.jp/php/%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E5%8F%97%E4%BF%A1%E3%81%97%E3%81%A6php%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E5%8B%95%E4%BD%9C%E3%81%95%E3%81%9B%E3%82%8B%20.forward%E3%81%AE%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95%20-smrsh%E3%81%AF%E8%A6%81%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF-</link> 
    </item>
    <item>
      <title>scpコマンド　ファイルをSSHで暗号化した上で転送してくれるコマンド</title>
      <description>&lt;p&gt;scpコマンド　ファイルをSSHで暗号化した上で転送してくれるコマンド&lt;/p&gt;
&lt;p&gt;【オプション】&lt;br /&gt;
-r ディレクトリを再帰的にコピー&lt;br /&gt;
-p ファイルの属性(パーミッションやタイムスタンプ)を保つ&lt;/p&gt;
&lt;p&gt;【使用例】&lt;br /&gt;
# ./hoge をリモートホスト hoge.com の /home/username/ に転送&lt;br /&gt;
scp -pr ./hoge &lt;a href=&quot;mailto:username@hoge.com:/home/username&quot;&gt;username@hoge.com:/home/username&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;# リモートホスト hoge.comの /home/username/hoge を .に転送&lt;br /&gt;
scp -pr &lt;a href=&quot;mailto:username@hoge.com:/home/username/hoge&quot;&gt;username@hoge.com:/home/username/hoge&lt;/a&gt; .&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;</description> 
      <link>http://tech7.blog.shinobi.jp/linux%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/scp%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%80%80%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92ssh%E3%81%A7%E6%9A%97%E5%8F%B7%E5%8C%96%E3%81%97%E3%81%9F%E4%B8%8A%E3%81%A7%E8%BB%A2%E9%80%81%E3%81%97%E3%81%A6%E3%81%8F%E3%82%8C%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89</link> 
    </item>
    <item>
      <title>Subversion のインストールと設定</title>
      <description>&lt;p&gt;&lt;font size=&quot;3&quot;&gt;&lt;strong&gt;【Subversion のインストール】&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Subversion のインストールと設定をメモしておく。&lt;/p&gt;
&lt;p&gt;条件：&lt;br /&gt;
&amp;nbsp;・Linux (Red Hat) &amp;hellip;Subversion サーバ&lt;br /&gt;
&amp;nbsp;・ソースからインストール&lt;br /&gt;
&amp;nbsp;・Berkeley DB は使用しない&lt;br /&gt;
&amp;nbsp;・Apacheと連携しない&lt;br /&gt;
&amp;nbsp;・サーバ機能はinetd経由とする&lt;/p&gt;
&lt;p&gt;■インストール&lt;/p&gt;
&lt;p&gt;(1)Subversion のソースを取得する&lt;br /&gt;
&amp;nbsp;公式サイト(&lt;a href=&quot;http://subversion.tigris.org/&quot;&gt;http://subversion.tigris.org/&lt;/a&gt;)&lt;br /&gt;
&amp;nbsp;ソース置き場&lt;br /&gt;
&amp;nbsp;&lt;a href=&quot;http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&amp;amp;expandFolder=74&quot;&gt;http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&amp;amp;expandFolder=74&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;現時点の最新 1.5.3　以下２つをダウンロード&lt;br /&gt;
&amp;nbsp;・subversion-1.5.3.tar.gz&lt;br /&gt;
&amp;nbsp;・subversion-deps-1.5.3.tar.gz&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
(2)ダウンロードしたソースを配置する&lt;br /&gt;
&amp;nbsp;/usr/local/src/subversion-1.5.3.tar.gz&lt;br /&gt;
&amp;nbsp;/usr/local/src/subversion-deps-1.5.3.tar.gz&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;(以降、root権限で処理 # root権限、$ 普通の人）&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
(3)解凍する&lt;br /&gt;
&amp;nbsp;# cd /usr/local/src/&lt;br /&gt;
&amp;nbsp;# tar xzvf subversion-1.x.x.tar.gz&lt;br /&gt;
&amp;nbsp;# xzvf subversion-deps-1.x.x.tar.gz&lt;br /&gt;
&amp;nbsp;# cd subversion-1.x.x&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
(4)インストールする&lt;br /&gt;
&amp;nbsp;# ./configure&lt;br /&gt;
&amp;nbsp;# make&lt;br /&gt;
&amp;nbsp;# make install&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;
&lt;p&gt;■svnserveの稼働（xinetd）&lt;/p&gt;
&lt;p&gt;(1)svnserve用のユーザ svn を作成する&lt;br /&gt;
&amp;nbsp;# useradd svn&lt;/p&gt;
&lt;p&gt;(2)レポジトリのルート(/svn)を作成する&lt;br /&gt;
&amp;nbsp;# mkdir /svn&lt;br /&gt;
&amp;nbsp;# chown svn:svn /svn&lt;/p&gt;
&lt;p&gt;(3) xinetd（inetd経由）の設定をする&lt;br /&gt;
・設定ファイルを作る（環境に応じて適宜変更）&lt;br /&gt;
&amp;nbsp;# vi /etc/xinetd.d/svn&lt;br /&gt;
----ここから&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disable&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = no&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; socket_type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = stream&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = no&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = svn&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; server&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /usr/local/bin/svnserve&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; server_args&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = -i -r /svn&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; log_on_failure&amp;nbsp; += USERID&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; only_from&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 192.168.0.0/24 127.0.0.1&lt;br /&gt;
}&lt;br /&gt;
----ここまで&lt;br /&gt;
・接続許可設定 /etc/hosts.allowに追加(内部ネットワークと自分を許可）&lt;br /&gt;
svn: 192.168.0. 127.0.0.1&lt;br /&gt;
・サービス名と使用ポート番号の設定 /etc/services　に追加&lt;br /&gt;
svn&amp;nbsp;&amp;nbsp;&amp;nbsp; 3690/tcp&amp;nbsp;&amp;nbsp; # Subversion&lt;br /&gt;
svn&amp;nbsp;&amp;nbsp;&amp;nbsp; 3690/udp&amp;nbsp;&amp;nbsp; # Subversion&lt;br /&gt;
・ファイヤーウォールの設定は次項&lt;br /&gt;
・設定の確認と再起動&lt;br /&gt;
&amp;nbsp;# chkconfig --list svn&lt;br /&gt;
&amp;nbsp;svn&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;# service xinetd restart&lt;br /&gt;
&amp;nbsp;xinetd を停止中:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; OK&amp;nbsp; ]&lt;br /&gt;
&amp;nbsp;xinetd を起動中:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;nbsp; OK&amp;nbsp; ]&lt;/p&gt;
&lt;p&gt;・telnet を使って接続確認&lt;br /&gt;
&amp;nbsp;#telnet localhost 3690&lt;br /&gt;
Trying 127.0.0.1...&lt;br /&gt;
Connected to localhost.localdomain (127.0.0.1).&lt;br /&gt;
Escape character is '^]'.&lt;br /&gt;
( success ...&lt;/p&gt;
&lt;p&gt;(4)ファイヤーウォールの設定&lt;br /&gt;
&amp;nbsp; デフォルトの3690ポートtcp/udpを許可する。&lt;br /&gt;
・設定&lt;br /&gt;
&amp;nbsp;#iptables -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT&lt;br /&gt;
&amp;nbsp;#iptables -A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -m udp -p udp --dport 3690 -j ACCEPT&lt;br /&gt;
・確認&lt;br /&gt;
&amp;nbsp;#iptables -L&lt;br /&gt;
&amp;nbsp;ACCEPT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tcp&amp;nbsp; --&amp;nbsp; 192.168.0.0/24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; anywhere&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state NEW tcp dpt:svn&lt;br /&gt;
&amp;nbsp;ACCEPT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; udp&amp;nbsp; --&amp;nbsp; 192.168.0.0/24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; anywhere&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state NEW udp dpt:svn&lt;br /&gt;
・initスクリプトに保存&lt;br /&gt;
&amp;nbsp;#/etc/init.d/iptables save&lt;br /&gt;
・リスタート&lt;br /&gt;
&amp;nbsp;#service iptables restart&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
■リポジトリの設定&lt;/p&gt;
&lt;p&gt;(1)リポジトリの作成&lt;br /&gt;
&amp;nbsp;# su svn&lt;br /&gt;
&amp;nbsp;$ svnadmin create /svn/projectA&lt;/p&gt;
&lt;p&gt;(2)リポジトリのアクセス権の設定&lt;br /&gt;
&amp;nbsp;$ cd /svn/projectA/conf&lt;br /&gt;
&amp;nbsp;$ vi svnserve.conf&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
[general]&lt;br /&gt;
anon-access = read&lt;br /&gt;
auth-access = write&lt;/p&gt;
&lt;p&gt;password-db = passwd&lt;/p&gt;
&lt;p&gt;(認証ユーザは読み書き、匿名ユーザは読み込み)&lt;/p&gt;
&lt;p&gt;(3)ユーザとパスワード passwdファイルの編集&lt;br /&gt;
&amp;nbsp;$ vi passwd&lt;br /&gt;
[users]&lt;br /&gt;
hogea=hogeaaa&lt;br /&gt;
hogeb=hogebbb&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
■クライアントからの接続確認&lt;/p&gt;
&lt;p&gt;(1)サーバ(192.168.0.1とする)と同じマシンで確認&lt;br /&gt;
・新しいディレクトリを作る&lt;br /&gt;
&amp;nbsp;$svn mkdir -m &amp;quot;comment&amp;quot; svn://192.168.0.1/projectA/trunk&lt;br /&gt;
&amp;nbsp;$svn mkdir -m &amp;quot;comment&amp;quot; svn://192.168.0.1/projectA/branches&lt;br /&gt;
&amp;nbsp;$svn mkdir -m &amp;quot;comment&amp;quot; svn://192.168.0.1/projectA/tags&lt;br /&gt;
・ディレクトリエントリを一覧表示する&lt;br /&gt;
&amp;nbsp;$svn list svn://192.168.0.1/projectA&lt;br /&gt;
branches/&lt;br /&gt;
tags/&lt;br /&gt;
trunk/&lt;/p&gt;
&lt;p&gt;(2)Windowsマシンから TortoiseSVN を使用&lt;br /&gt;
・TortoiseSVN　をインストールする&lt;br /&gt;
公式サイト（&lt;a href=&quot;http://tortoisesvn.tigris.org/&quot;&gt;http://tortoisesvn.tigris.org/&lt;/a&gt;）&lt;br /&gt;
Language packsで日本語表示になる。&lt;br /&gt;
現時点&lt;br /&gt;
　・TortoiseSVN-1.5.4.14259-win32-svn-1.5.3.msi&lt;br /&gt;
　・LanguagePack_1.5.4.14259-win32-ja.msi&lt;br /&gt;
・インストーラの指示に従えば簡単にインストールできる&lt;/p&gt;
&lt;p&gt;・接続確認&lt;br /&gt;
　・エクスプローラの任意のフォルダで&lt;br /&gt;
　右クリック「TortoiseSVN」「リポジトリブラウザ」&lt;br /&gt;
　・URLに svn://192.168.0.1/projectA として「OK」&lt;br /&gt;
　・表示されればOK&lt;/p&gt;
&lt;p&gt;★外部から接続する場合は、svnサーバの3690ポート（デフォルト）をあける必要がある。&lt;br /&gt;
pingは通るが、クライアントからホスト(svnサーバ)に到達できない場合は&lt;br /&gt;
ファイヤーウォールではじかれている可能性がある。&lt;br /&gt;
一時的にファイヤーウォールを無効にして、接続可能か試してみよう。&lt;br /&gt;
（当然無効にしている間は危険なので可能な環境であれば試してみよう）&lt;br /&gt;
&amp;nbsp;#service iptables stop&lt;br /&gt;
これで通れば、ファイヤーウォールの設定が正しくないということ。&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;</description> 
      <link>http://tech7.blog.shinobi.jp/subversion/subversion%20%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E8%A8%AD%E5%AE%9A</link> 
    </item>
    <item>
      <title>Unicodeエスケープされた文字列を文字に戻す方法</title>
      <description>&lt;p&gt;「\u30ea\u30af\u30a8\u30b9\u30c8」&lt;br /&gt;
このようなにUnicodeエスケープされた文字列を&lt;br /&gt;
読める文字に戻します。この場合、「リクエスト」となる。&lt;br /&gt;
&lt;br /&gt;
java の　native2ascii -reverse　と同じようにできないかと、&lt;br /&gt;
ごりっとロジック組んでみました。&lt;br /&gt;
こんなんでも動くから、まぁいいでしょう！&lt;br /&gt;
&lt;br /&gt;
&lt;font color=&quot;#003366&quot;&gt;Function convFromUnicodeEscape(ByVal strTarget As String) As String&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#003366&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim str As String&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strRet As String&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lngPos As Long&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lngStart As Long&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strTmp As String&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; str = strTarget&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lngPos = 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lngStart = lngPos&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lngPos = InStr(1, str, &amp;quot;\u&amp;quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If lngPos &amp;gt; 0 Then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strRet = strRet &amp;amp; Mid(str, 1, lngPos - 1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTmp = Mid(str, lngPos, 6)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTmp = Replace(strTmp, &amp;quot;\u&amp;quot;, &amp;quot;&amp;amp;H&amp;quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strRet = strRet &amp;amp; ChrW(strTmp)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; str = Mid(str, lngPos + 6)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strRet = strRet &amp;amp; str&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#003366&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug.Print strRet&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; convFromUnicodeEscape = strRet&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
End Function&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;</description> 
      <link>http://tech7.blog.shinobi.jp/vba/unicode%E3%82%A8%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%97%E3%81%95%E3%82%8C%E3%81%9F%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E6%96%87%E5%AD%97%E3%81%AB%E6%88%BB%E3%81%99%E6%96%B9%E6%B3%95</link> 
    </item>

  </channel>
</rss>