mysql 非英文_在MySQL数据库中插入非英语文本时进行JSP编码

我正在使用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文件中都包含以下标记,以确保字符编码:

我检查了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 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值