在c ++中转换字符编码

时间:2013-08-29 09:06:09

标签: c++ utf-8 character-encoding latin1

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

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

使用正确的浏览器编码设置字符úser接收为%FAser并正确地转换为程序中的úser  但是,如果将浏览器设置设置为UTF-8,则字符串将被收到%C3%BAser,然后转换为úser,因为代码将C3和BA转换为单独的字符。

有没有办法将示例%c3%BA转换为ú,同时确保正在进行正确的转换?

1 个答案:

答案 0 :(得分:2)

您可以使用ICU library在几乎所有可用编码之间进行转换。该库还提供了许多字符串操作工具。