Есть ли какой-либо путь в Java так, чтобы я мог получить Unicode, эквивалентный из какого-либо символа? например.
Предположим метод getUnicode(char c)
. Вызов getUnicode('÷')
должен возвратиться \u00f7
.
Вместо кодирования на utf-8
следует закодировать то, что когда-либо используется paypal для публикации.
Он доступен под ключом 'charset' в форме paypal says.
Так что для меня сработал следующий код:
-121--2129897-
data = dict ([(k, v.encode (data ['charset'])) для k, v в data.items ()])
У меня небольшой опыт работы с CloudFoundry. Они были так любезны спонсировать веб-сайт GR8Conf, развернутый через их сервис. Для настройки SQL мне кажется, что простым решением является использование подключаемого модуля CloudFoundry и ввод
cloudFoundry.db.schemaName="myName"
в файле config/CloudFounddry.groovy.
В файле config/DataSource.groovy вы должны иметь:
production { dataSource { driverClassName = 'com.mysql.jdbc.Driver' dbCreate = "update" url = "jdbc:mysql://localhost/myName" // or url = "jdbc:mysql://${System.getProperty("dbHostName", "localhost")}/myName" dialect = 'org.hibernate.dialect.MySQLDialect' username = "myName_user" password = "myName_password" } }
(Я получил некоторые из этих сведений от: http://www.cloudfoundry.com/getting_started.html )
Я не думаю, что вы должны предоставить дополнительные скрипты SQL. То, что вы определяете в BootStrap, будет происходить при развертывании.
Что касается ценообразования, у меня нет идей. Я бы предложил вам написать в их поддержку, чтобы спросить.
На стороне: Веб-сайт www.gr8conf.org еще не запущен на EC2, но это потому, что я еще не понял, как создать резервную копию моей базы данных от EC2 до S3, и это довольно важно, потому что, когда EC2 экземпляр заканчивается, все в нем теряется, если не резервировать. / Сёрен
-121--4501549-Вы можете сделать это для любого символа Java, используя один лайнер здесь:
System.out.println( "\\u" + Integer.toHexString('÷' | 0x10000).substring(1) );
Но это будет работать только для символов Юникода вплоть до Юникода 3.0, поэтому я уточнил, что вы можете сделать это для любого символа Java.
Поскольку Java была разработана до появления Unicode 3.1 и, следовательно, примитив символов Java недостаточен для представления Юникода 3.1 и выше: больше нет сопоставления «один символ Юникода с одним символом Java» (вместо этого используется чудовищный взлом).
Итак, вам действительно нужно проверить свои требования здесь: нужно ли поддерживать символ Java или любой возможный символ Юникода?
Если у вас Java 5, используйте char c = ...; Строка s = Строка.format ("\\ u% 04x", (int) c);
Если ваш источник не является символом Unicode ( char
), а является String, вы должны использовать charAt (index )
, чтобы получить символ Unicode в позиции с индексом
.
Не используйте codePointAt (index)
, потому что это вернет 24-битные значения (полный Unicode), которые не могут быть представлены только 4 шестнадцатеричными цифрами (требуется 6). См. документацию для объяснения .
[EDIT] Чтобы прояснить: в этом ответе используется не Unicode, а метод, который Java использует для представления символов Unicode (т.е. суррогатных пар), поскольку char - 16-битный а Unicode - 24 бит. Вопрос должен быть таким: «Как мне преобразовать char
в 4-значное шестнадцатеричное число», поскольку это (на самом деле) не о Unicode.
Я нашел этот хороший код в Интернете.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Unicode {
public static void main(String[] args) {
System.out.println("Use CTRL+C to quite to program.");
// Create the reader for reading in the text typed in the console.
InputStreamReader inputStreamReader = new InputStreamReader(System.in);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
try {
String line = null;
while ((line = bufferedReader.readLine()).length() > 0) {
for (int index = 0; index < line.length(); index++) {
// Convert the integer to a hexadecimal code.
String hexCode = Integer.toHexString(line.codePointAt(index)).toUpperCase();
// but the it must be a four number value.
String hexCodeWithAllLeadingZeros = "0000" + hexCode;
String hexCodeWithLeadingZeros = hexCodeWithAllLeadingZeros.substring(hexCodeWithAllLeadingZeros.length()-4);
System.out.println("\\u" + hexCodeWithLeadingZeros);
}
}
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
}