【ワレコ式】全自動文字化け修復ツール.NET ver1.1 のお知らせ【SJIS・EucJP・UTF8文字化けに対応】

この記事は約5分で読めます。
スポンサーリンク

昨日、公開した

【われこ式】全自動文字化け修復ツール.NET ver1.0

であるが、早速バージョンアップした。

【われこ式】全自動文字化け修復ツール.NET ver1.1

だ。

 

 

ver1.0 → ver1.1 での改良箇所は以下の通り。

スポンサーリンク
ワテ推薦のプログラミングスクールで学ぶ
スポンサーリンク
スポンサーリンク

【われこ式】全自動文字化け修復ツール.NET ver1.1の機能

対応している文字化け

現在のところ、以下の五種類の文字化けに対応。

16進数のユニコード(Unicode Hex)に化けた場合

文字化けの例

オブジェクト

修復後

オブジェクト

 

10進数のユニコード(Unicode Decimal)に化けた場合

文字化けの例

こんにちわ

修復後

こんにちわ

日本語がShift-JISの16進文字 (%HH や &#HH) に化けた場合

文字化けの例

%97X%90%ad%96%af%89c%89%bb
&#97X&#90&#ad&#96&#af&#89c&#89&#bb

修復後

郵政民営化
郵政民営化

日本語がEUC-JPの16進文字 (%HH) に化けた場合

文字化けの例

%cd%b9%c0%af%cc%b1%b1%c4%b2%bd

修復後

郵政民営化

日本語がUTF-8の16進文字 (%HH) に化けた場合

文字化けの例

%e9%83%b5%e6%94%bf%e6%b0%91%e5%96%b6%e5%8c%96

修復後

郵政民営化

 

今後対応予定の文字化け

日本語が文字化けする場合には、数多くのパターンが有ります。

当サイトが対応しているのは、現状では上記の例のように比較的素直な文字化けです。

今後はこれら以外の文字化けにも対応したいと思っている。

 

具体的には以下の通り。

ウェブサイトを見ていて本来UTF8のページを正しく表示した文字の例
「2020年東京五輪・パラリンピックの開催費用などを検証する都の調査チームが」

 

ウェブサイトを見ていて本来UTF8のページをSJISで表示して化けた場合の例
「縲€・抵シ撰シ抵シ仙ケエ譚ア莠ャ莠碑シェ繝サ繝代Λ繝ェ繝ウ繝斐ャ繧ッ」

 

ウェブサイトを見ていて本来UTF8のページをEUCで表示して化けた場合の例
「���鐚�鐚�鐚�鐚�綛贋�延根篋�莠・�祉����・」

 

ウェブサイトを見ていて本来UTF8のページをJIS(ISO-2022-JP)で表示して化けた場合の例
「�����������������」

 

これらの文字化けも自動修復出来るようにしたいと思っている。

もちろん、文字化けにした時点で情報量が減っていて逆変換出来ない場合も有り得るが、そう言う場合でも何らかの推測アルゴリズムを使って復元の精度を上げたいと思っている。

 

ASP.NET MVCを使ったWEBサイト作成の感想

Visual Studio 2015 Communityを使い、C# ASP.NET MVCの機能で作成してみた。

ASP.NET WebFormプロジェクトに比べて、MVCはとっても便利だ。

MVCとは、いわゆるModel View Controllerの略称だ。概念的には理解し易いが、実際にWEBサイト作成をこのMVCの手法で行うのは初めての経験だ。

最初はViewとControllerの連携部分の仕組みなどが理解し辛かったが、分かってしまうととっても便利な事に気づいた。

複数のView(WEBページ)を簡単にWEBサイトに追加出来るし、各ViewごとにController側の処理(Action)をC#で書けるし、いい感じだ。

また、ASP.NET WebFormの場合には、WebForm.aspx と言う拡張子のファイルが基本となるが、ASP.NET WebForm特有のヘンテコな記号が沢山登場する。

具体的には以下の通り。

<ajaxToolkit:TabPanel runat="server" HeaderText="話題の場所" ID="TabPanel24" Visible="true">
    <ContentTemplate>
        <asp:Button ID="Button19" runat="server" Text="検索実行" OnClientClick="showCB();return false; " />
        <asp:Button ID="Button21" runat="server" Text="この地点を登録" OnClientClick="registerCB();return false; " />
        <asp:Button ID="Button18" runat="server" Text="マーカークリア" OnClientClick="clearCB();return false; " />
        <div id="divID" runat="server">
        </div>
    </ContentTemplate>
</ajaxToolkit:TabPanel>

図1.  ASP.NET WebFormプロジェクトの例(.aspxファイルの記述)

一方、ASP.NET MVCの場合には、拡張子 .cshtml ファイルが基本となる。

<button>, <input type=”text”> などの html要素に関する記述は通常のhtmlの文法と同じだ。なので上で例に上げたWebFormのようなヘンテコな記述が出てこないので分かり易い。

さらに、cshtml ファイルの中で @マークを使った独特の記法によってサーバーサイド側のデータを埋め込むとか、C#プログラムを埋め込むなども簡単に出来る。

 

そのようにして作成したのが、これです。

 

もしお使い頂きまして何かお気づきの点などありましたらお知らせ下さい。

スポンサーリンク
ワテ推薦のプログラミングスクールで学ぶ
コメント募集

この記事に関して何か質問とか補足など有りましたら、このページ下部にあるコメント欄からお知らせ下さい。

ASP.NET C# 便利グッズ
スポンサーリンク
warekoをフォローする
スポンサーリンク
われこ われこ

コメント