クライアントから送られてきた文字列を、英語の大文字にするところで文字化けするっぽいですね。
一応動いてたので気にしてなかったんですけど、よくよく考えたら日本語の状態の文字列を英語の大文字に直すっていうよくわからないことしてるからバグっちゃうのは必然なのですかね...。