标签: c++ utf-8 character-encoding latin1
我有一个允许用户输入用户名的网站。
这里的问题是c ++中的代码假定浏览器编码是西欧,并将从用户名文本框接收的字符串转换为unicode,以与数据库中存储的字符串进行比较。
使用正确的浏览器编码设置字符úser接收为%FAser并正确地转换为程序中的úser 但是,如果将浏览器设置设置为UTF-8,则字符串将被收到%C3%BAser,然后转换为úser,因为代码将C3和BA转换为单独的字符。
有没有办法将示例%c3%BA转换为ú,同时确保正在进行正确的转换?
答案 0 :(得分:2)
您可以使用ICU library在几乎所有可用编码之间进行转换。该库还提供了许多字符串操作工具。