我已将 mysql 5.0 配置为存储 utf8 字符。我通过以下查询对其进行了检查:
SELECT character_set_name FROM information_schema.`COLUMNS` C
WHERE table_schema = "oprdb"
AND table_name = "rtable"
AND column_name = "rtxt";
结果是utf8
SHOW FULL COLUMNS FROM rtable
这向我展示collation
了utf8_general_ci
show variables like "character_set_database";
show variables like "collation_database";
这也显示utf8
在结果中
似乎mysql配置正确。我从用户在文本字段中键入文本的 html 页面获取文本,然后我使用 jquery post 将该文本提交给 servlet。
我的 html 页面顶部有这个——
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
我也在我的表格中添加了这个——
enctype="text/plain;charset=UTF-8"
在我的 servlet 中 doPost 的第一行是
request.setCharacterEncoding("UTF-8");
然后我只是将该文本保存在数据库中。但问题是,我无法存储这种文本
Hiki iaʻu ke ʻai i ke aniani; ʻaʻole nō lā au e ʻeha.
Я магу есці шкло, яно мне не шкодзіц
他们有什么我想念的吗?
编辑:
这是我的数据源配置..
<Resource auth = "Container"
driverClassName = "com.mysql.jdbc.Driver"
factory = "org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
initialSize = "10"
logAbandoned = "true"
maxActive = "50"
maxIdle = "2"
maxWait = "10000"
name = "jdbc/oprdb"
username = "root"
password = "123456"
removeAbandoned = "true"
removeAbandonedTimeout = "60"
type = "javax.sql.DataSource"
url = "jdbc:mysql://localhost:3306/oprdb" />