了解した。再び壊れないように以下のように変更する:
if (str.Find('\xC2') != wxNOT_FOUND)
str.Remove(str.Find('\xC2'), 1);
mmalmi@cc.hut.fi の書き込み:
意図的に変更したわけではありません。エンコーディングの問題だったのでしょう。
この変更の理由は何でしたか?
#if !wxUSE_UNICODE … if (str.Find(‘Â’) != wxNOT_FOUND) str.Remove(str.Find(‘Â’), 1); を以下に変更: if (str.Find(‘�’) != wxNOT_FOUND) str.Remove(str.Find(‘�’), 1);
wxFormBuilderは(c)記号を自動的にUTF-8に変換します。wxWidgets-2.8.9の ANSI版では、著作権記号に余分なゴミ文字が付いて表示されます。このハック は非Unicode(ANSI)の場合にそれを修正するものです。
出典:COPA対ライト裁判の証言の一環として、2024年2月にマルッティ・マルミによりGitHubで公開。完全な書簡アーカイブはmmalmi.github.io/satoshi/で閲覧可能。