- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Ajax 调用在 MySQL 数据库中插入印度字符。我在我的应用程序流程之间遇到了 UTF-8 编码问题。
当我直接通过 JDBC(不使用 Ajax 调用)插入非英文字符时,它显示“????”在数据库中。
当我包含
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
在我的 JSP 文件中,然后我在我的数据库中收到以下内容(问号而不是非英文字符):
????????
当我不包含上面的行时,它会在数据库中显示这样的垃圾字符:
મà«?àª?પà«?ષà«?àª
而实际值是
મખપષ
所以实际问题出在通过JDBC jdbc 连接器向JSP 中的MySQL 命令发送插入请求时或之后。
我在我的所有 JSP 文件中包含了以下标记以确保字符编码:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
和
<meta http-equiv="Content-Type" content="text/html; charset=utf-8;charset=UTF-8">
我检查了 MySQL 表是否启用了 Unicode,我能够通过终端正确输入非英语文本。
这个问题是怎么引起的,我该如何解决?
现在,我只能使用插入语句来编写......但是当我混合一些查询和插入语句时......我的应用程序返回以下错误:操作 '=' 的归类 (latin1_swedish_ci,IMPLICIT) 和 (utf8_general_ci,COERCIBLE) 的非法混合以下是我的数据库变量:
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 10 |
最佳答案
When I am inserting the non-English characters directly by JDBC (not using an Ajax call), then it's showing "????" in the database.
这只有在双方都清楚各自的字符编码差异时才会发生。任何未被另一端使用的字符编码覆盖的字符将被问号替换 ?
.否则你会看到 Mojibake .
在这种特殊情况下,这些方面是 Java 方面和数据库方面,以 JDBC 驱动程序作为中介。要解决此问题,您需要告诉 JDBC 驱动程序这些字符的编码方式。您可以通过设置 useUnicode=true&characterEncoding=UTF-8
来做到这一点。 JDBC 连接 URL 中的参数。
jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8
然后,根据您将参数从客户端发送到服务器的方式,您可能还需要修复请求编码。考虑到您在删除 request.setCharacterEncoding("UTF-8")
时看到的是 Mojibake。 ,您正在使用 POST。所以那部分没问题。
对于这种情况,如果您使用 GET 发送参数,则需要在服务器端配置 URI 编码。目前还不清楚您使用的是什么服务器,但如果是 Tomcat,则需要编辑 <Connector>
输入 /conf/server.xml
如下:
<Connector ... URIEncoding="UTF-8">
关于java - 在 MySQL 数据库中插入非英文文本时的 JSP 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8311463/
在 .m 文件中: UIActionSheet *someSheet = [[UIActionSheet alloc] initWithTitle:NSLocalizedString(@"TI
常用HTML正则表达式 1.只能输入数字和英文的: 复制代码 代码如下: <input onkeyup="value=value.replace(/[/W]/g,'
前言 本文主要介绍使用UITextField限制只可输入中,英文,数字,我们可以使用NSPredicate正则表达式可以过滤,下面看看详细的步骤方法 首先设置UItextField的代理 实现
本文实例讲述了php判断输入是否是纯数字,英文,汉字的方法。分享给大家供大家参考。具体分析如下: 这里利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成是全英文、英汉混合、
给定一个文本字符串 var string1 = 'IAmNotFoo'; 如何只提取大写字母? 'IANF' 下面是每个链接的一些方法: function isUpperCase1(aCharacte
如何在 PHP tcpdf 中生成连字? 最佳答案 tcpdf 使用 FreeType 来栅格化字体,或者只是将它们嵌入到 PDF 中并在查看器中栅格化。连字实际上是在字体中定义的。如果您使用的是 T
请多多指教!我正在完成“C 语言编程”一书中的练习。 我必须编写一个程序,它接受一个整数,然后提取并用英语显示整数的每一位。 因此,如果我输入 1234,它应该打印回“一二三四”。 由于这个练习接近本
只能输入中文:<input id="input1" type="text" onkeyup="value=value.replace(/[^\
复制代码 代码如下: $str='asb天水市12'; if (preg_match("/^[\x7f-\xff]+$/", $str)){ echo '全部是汉字'; }
我发现这个公式可以将金额转换为单词,但它不能 100% 起作用。每当金额以 20,30, 40 等结尾时,都会出现错误。例如 1020 会出错,但 1019 和 1021 可以正常工作。我试图自己解决
某些 Windows 计算机安装了多种显示语言。 我可以使用以下函数以该语言获取当前用户的 UI 语言: function GetUsersWindowsLanguage: string; var
引言需求:(输入框限制输入多少字符) 1、一个字母、符号、数字相当于一个字符 2、一个汉字相当于两个字符 3、不能输入特殊字符 4、不能输入emoji表情 直接上代码 1、注册通知
我目前正在使用 Emacs + Magit,但我想我的问题比这些软件的具体使用更笼统。我读过 How does one change the language of the command line
有谁知道包含示例英语词典单词脚本的 Web 引用链接,可用于填充 SQL Server 中的词典表? 我可以处理 .txt 或 .csv 文件,或类似的文件。 或者,我正在向我的网络应用程序添加自定义
Oracle(多语言环境)如何判断给定字符串(表列值)的语言(英文,中文...)? 最佳答案 应该可以使用像 Language Dectection for Java 这样的库并将它与您的 PL/SQ
当您现在在 Xcode 5 上本地化一个文件时,您将拥有这个“基本”文件,据我所知,如果用户使用的是另一种未本地化的语言,则会使用该文件。在旧版本的 Xcode 上,您没有。 我希望英语成为默认使用的
我有如下文字: 아니다 bukan 싫다 tidak suka 훌륭하다 bagus 我正在尝试删除英文行(英文字母)并将其附加到上行(韩文字母)的末尾,如下所示: 아니다bukan 싫다tidak
这个问题在这里已经有了答案: Unicode string literals in VBA (3 个回答) How to type Unicode currency character in Visu
我可以知道是否有任何 SQL 脚本可以满足我的以下场景? 如果column1包含中文字符,更新值column2为'Chinese' 如果 column1 包含英文字符,则将值 column2 更新为“
我正在使用一个图像处理 API 来读取图像上的文本,并且从我返回的字符串数据中,我需要提取英语或字典中的单词以及常见的名字和姓氏。换句话说,我在字符串中得到了我需要的文本,但在结果中也得到了一些我需要
我是一名优秀的程序员,十分优秀!