我正在尝试将文本上传到我的数据库中。当用户输入某些字符时,我不断收到编码文本。例如,如果用户输入“Jalapeo”,我最终会在我的数据库中获得“Jalape%C3%B1o”。
我知道这是因为“ñ”被读作“%C3%B1”......
我不确定如何转换所有潜在的重音字符,我已经查看了rewurldecode和其他人,但我想知道这里是否有快速解决方案。任何建议都会很精彩。谢谢!
答案 0 :(得分:1)
确保您的数据库使用正确的字符集和排序规则(通常您需要UTF-8)。另外,请确保设置连接字符集并发送正确的标题。
e.g。 MySQL的:
mysql_connect();
mysql_set_charset("utf8");
header('Content-Type: text/html; charset=utf-8');
您也可以使用htmlentities
将特殊字符转换为HTML实体,但您仍需要确保数据库整理和连接设置正确。
答案 1 :(得分:0)
你的角色是urlencoded。要正确显示它,您必须解码它。但是,在数据库中保存数据时,不应使用url编码。正如dtech所指出的,你必须使用utf8字符集。