Kotlin ktorのWebでうまく日本語が出ない・・。
call.respondText("へろわ", ContentType.Text.Html)
のように書いてだめだったのでこうしたのに。
import org.jetbrains.ktor.netty.* import org.jetbrains.ktor.routing.* import org.jetbrains.ktor.application.* import org.jetbrains.ktor.host.* import org.jetbrains.ktor.http.* import org.jetbrains.ktor.response.* import java.net.URLEncoder // URLEncoder使うため fun main(args: Array<String>) { val server = embeddedServer(Netty, 8080) { routing { get("/") { val msg = "へろわ" //var en = URLEncoder.encode(msg, Charsets.ISO_8859_1.toString()) var en = URLEncoder.encode(msg, Charsets. UTF_8.toString()) //val en = URLEncoder.encode(msg, Charsets.UTF_8.name()) call.respondText(en, ContentType.Text.Html) } } server.start(wait = true) }
ちなみに、IntelliJ IDEAを使っってる。 この辺の設定はUTF-8なんだけどな。
設定ファイルを一応ヘルプから生成しておいた。
すでにUTF-8なのでCharsets.UTF_8
は不要だと思う運だけどな・・。
ちなみにtoString()
とname()
で結果が変わった。