HSQLDB / PHP / Tomcat 8 / Quercus - 插入非英语字符

时间:2017-05-17 18:00:15

标签: java php tomcat hsqldb quercus

INSERT INTO words (word, meaning) VALUES ('Цветок', 'Flower')

当我从SQL客户端(DbVisualizer)执行此SQL语句时,表中的值看起来与您在语句中看到的完全相同,即Цветок未编码。

当我从 PHP over Tomcat 8 / Java版本“1.8.0_101”(Quercus 4.0.39)执行它时,表中的值编码就像我运行PHP一样{ {3}}关于他们。所以Flower没有改变,但Цветок是 - 现在它通过SQL客户端查找表ЦвеÑок

为什么从客户端或PHP运行SQL语句有区别?

如何从PHP插入此数据,以便将其保存在数据库中?

更新

这是我的Tomcat context.xml HSQLDB资源:

  <Resource name="jdbc/mydb" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="me" password="kjsfhsjhfsd" driverClassName="org.hsqldb.jdbc.JDBCDriver"
               url="jdbc:hsqldb:hsql://localhost:9001/mydb?characterEncoding=UTF-8"/>

characterEncoding=UTF-8实际上是MySql特定的(因此让它破坏了这个资源!)。什么是HSQLDB等价物?我找不到......

我还尝试将php.ini设置为unicode.semantics=on,如下所述:

urlencode()

http://www.caucho.com/resin-3.1/doc/quercus.xtp#php.ini

http://www.caucho.com/resin-3.1/doc/quercus.xtp#Internationalization-16-bitunicode

然而,它没有做出任何改变......

0 个答案:

没有答案