当前位置: 首页 > 面试题库 >

UTF-8数据库问题

长孙哲
2023-03-14
问题内容

我有一个具有UTF-8字符集的MySQL表,并尝试通过PHP表单插入该表时,数据库显示以下错误:

PDOStatement :: execute():SQLSTATE [HY000]:常规错误:1366错误的字符串值:’\ xE8’为列…

有问题的字符是“cat”,但考虑到数据库和表设置为UTF-8,我不明白为什么这应该是一个问题。

编辑

我已经直接从mysql终端尝试过,并且遇到了同样的问题。


问题答案:

E8大于一字节UTF8字符中的最大可用字符7F:http :
//en.wikipedia.org/wiki/UTF-8

似乎您的连接未设置为UTF8,而是其他一些8位编码(如ISO
Latin)。如果将数据库设置为UTF8,则仅更改数据库内部使用的字符集,连接可能使用不同的默认值(对于较早的MySQL版本,为latin1),因此您应尝试SETCHARACTER SETutf-8在连接到数据库后发送一个初始值。如果可以访问my.cnf,则还可以在此处设置正确的默认值,但请记住,更改默认值可能会破坏在同一主机上运行的所有其他站点/应用程序



 类似资料:
  • 本文向大家介绍php页面,mysql数据库转utf-8乱码,utf-8编码问题总结,包括了php页面,mysql数据库转utf-8乱码,utf-8编码问题总结的使用技巧和注意事项,需要的朋友参考一下 示例一: PHP页面转UTF-8编码问题 1.在代码开始出加入一行: header("Content-Type: text/html;charset=utf-8"); 2.PHP文件编码问题 点击编辑

  • 嗨,我试图使我在UTF-8兼容的应用程序之一。我的环境如下:linux操作系统,apahce网络服务器作为超文本传输协议监听器,tomcat作为servlet引擎 配置了mod_jk和tomcat的apache s使用ajp连接器。 我已经从少数网站上阅读了UTF-8的基本指南,并根据建议尝试了以下方法 为服务器中的连接器设置和。xml 设置语言bashrc/. file使用 将apache服务器

  • 我不能让UTF-8在Tomcat中工作。我已经完成了以下配置: 在我的server.xml上设置URIEncode="UTF-8" 导出CATALINA_OPTS=$CATALINA_OPTS-Dfile.encoding=UTF-8catalina.bat 配置Spring特性EncodingFilter 在所有html文件中设置UTF-8 Maven来源编码构建UTF-8 当我在浏览器或邮递员

  • 我需要添加用户名从Facebook到数据库,这些名称有UTF-8字符,如 (ą,č,ę,ė,į,š,ų,ū).当我把它添加到数据库中,例如字母看起来像

  • 问题内容: 我一直使用ISO-8859-1编码,但是现在要转到UTF-8。 不幸的是我无法正常工作。 我的MySQL数据库是UTF-8,我的PHP文档是用UTF-8编码的,我设置了UTF-8字符集,但仍然无法使用。 (像æ/ø/å这样的特殊字符不起作用) 希望你们能提供帮助! 问题答案: 确保与数据库的连接也使用此字符集: 根据php.net 的文档: 另请参见:http : //nl3.php.

  • 问题内容: 我从网页上获取的JSON数组出现奇怪的字符编码问题。服务器正在发回此标头: 内容类型文字/ javascript;字符集= UTF-8 另外,我可以查看Firefox或任何浏览器中的JSON输出,并且Unicode字符正确显示。响应有时会包含来自其他语言的带有重音符号等的单词。但是,当我将其下拉并放在Java中的字符串中时,我得到了那些奇怪的问号。这是我的代码: 如您所见,我在Inpu