在c++中转换字符编码

Converting character encoding within c++

本文关键字:字符 编码 转换 c++      更新时间:2023-10-16

我有一个网站,允许用户输入用户名。

这里的问题是,c++中的代码假设浏览器编码为西欧,并将从用户名文本框接收的字符串转换为unicode,以与数据库中存储的字符串进行比较。

如果设置了正确的浏览器编码,字符úser将被接收为%FAser,并在程序中被正确地覆盖为úser然而,当浏览器设置设置为UTF-8时,由于代码将C3和BA转换为单独的字符,字符串将作为%C3%BAser接收,然后转换为âºser。

有没有一种方法可以将示例%c3%BA转换为ú,同时确保进行正确的转换?

您可以使用ICU库在几乎所有可用的编码之间进行转换。这个库还提供了许多字符串操作功能。