Java — HSQLDB / PHP / Tomcat 8 / Quercus — Вставка неанглийских символов

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

Когда я выполняю этот оператор SQL из клиента SQL (DbVisualizer), значения в таблице выглядят точно так же, как вы видите их здесь в операторе, т.е. Цветок не кодируется.

Когда я выполню это из PHP поверх Tomcat 8 / Java версия «1.8.0_101» (Quercus 4.0.39) , значения в таблице закодированы точно так же, как если бы я запускал PHP UrlEncode () на них. Так Flower не изменился, но Цветок есть — теперь это выглядит в таблице через клиент SQL как ЦвеÑок

Чем отличается запуск оператора SQL от клиента или от PHP?

Как я могу вставить эти данные из 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 как объяснено здесь:

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

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

Тем не менее, он не сделал никаких изменений …

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]