「MonoでSHIFT-JISを扱う」の版間の差分
ページの作成:「2015年9月時点のXamarin.MacやXamarin.iOSを含むMono環境下ではシフトJISを扱うと一部文字化けするようだ。 Xamarin.Androi...」 |
Administrator (トーク | 投稿記録) 細 Administrator がページ「Mono/SHIFT-JISを扱う」を「MonoでSHIFT-JISを扱う」に移動しました |
||
| (2人の利用者による、間の4版が非表示) | |||
| 5行目: | 5行目: | ||
==検証== | ==検証== | ||
[[文字コード]]が[[SHIFT-JIS]]の[[テキストファイル]]を用意する。 | まず[[文字コード]]が[[SHIFT-JIS]]の[[テキストファイル]]を用意する。 | ||
なお、検証に使用した[[Mac OS X 10.10]]には初期状態では[[nkf]]が入っていないので[[homebrew]]からぶち込んである。 | |||
<source lang="bash"> | <source lang="bash"> | ||
$ echo ロミオ×ジュリエット | nkf -s > test.txt | $ echo ロミオ×ジュリエット | nkf -s > test.txt | ||
| 37行目: | 37行目: | ||
「×」が「?」に文字化けした。 | 「×」が「?」に文字化けした。 | ||
==回避策1== | ==回避策1== | ||
[[PS | utf8-sjis-encoderというイカす[[ライブラリ]]を[[GitHub]]で発見した。 | ||
これは[[Unity]]や[[PS Suite]]で使われている古い[[Mono]](.NET Framework 2.0系相当)だと[[文字化け]]どころか[[クラッシュ]]するという理由で作られたものらしい。 | |||
[[NuGet]]はないようなので[[GitHub]]から[[ソース]]を拾ってきて使ってみた。 | [[NuGet]]はないようなので[[GitHub]]から[[ソース]]を拾ってきて使ってみた。 | ||
なお、この[[ライブラリ]] | なお、この[[ライブラリ]]の[[変換テーブル]]部分は巨大な[[ソースコード]](to_jis.csとto_utf8.cs)となっており[[Xamarin Studio]]で開くと残念な結果になる。 | ||
*https://github.com/GRGSIBERIA/utf8-sjis-encoder | * https://github.com/GRGSIBERIA/utf8-sjis-encoder | ||
検証 | 検証 | ||
| 70行目: | 70行目: | ||
ロミオ×ジュリエット | ロミオ×ジュリエット | ||
正常に表示された。素晴らしい。 | |||
==関連項目== | ==関連項目== | ||