我有Openfire的问题,特别是对表情符号字符的支持.我在互联网上搜索发现,为了支持表情符号,我必须将数据库和表的编码和校对更改为UTF-8 unicode(utf8mb4).我已经使用以下SQL命令完成了这项工作:
SET NAMES utf8mb4;
ALTER DATABASE openfire CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE ofOffline CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Run Code Online (Sandbox Code Playgroud)
所以在上面的语句中,我正在更改数据库和表的字符集和排序规则.接下来,我读到我应该更改JDBC驱动程序以支持unicode.我的系统属性中的"database.defaultProvider.serverURL"条目具有以下值(使用Openfire管理网页):
jdbc:mysql://localhost:3306/openfire?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
Run Code Online (Sandbox Code Playgroud)
当我在两个在线用户之间用表情符号发送消息时,它可以完美无瑕.当邮件的收件人处于脱机状态时,邮件将存储到数据库中,这就是出错的地方:表情符号未正确存储在数据库中(它存储为两个问号).
我的CREATE TABLE发言如下:
CREATE TABLE `ofMessageArchive` (
`messageID` bigint(20) DEFAULT NULL,
`conversationID` bigint(20) NOT NULL,
`fromJID` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`fromJIDResource` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`toJID` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`toJIDResource` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`sentDate` bigint(20) NOT NULL,
`stanza` mediumtext COLLATE utf8mb4_unicode_ci,
`body` mediumtext COLLATE utf8mb4_unicode_ci, …Run Code Online (Sandbox Code Playgroud) 我想我有一个非常简单的问题。我目前正在开发一个 API,您必须先登录才能使用它。登录通过 http 请求进行,因此要登录,您将访问
http://myapi.com/login.php?email=mail@mail.com&password
Run Code Online (Sandbox Code Playgroud)
例如。
当电子邮件和密码正确时,我设置一些会话变量并启动会话:
session_start();
$_SESSION['idUser'] = $row['id'];
$_SESSION['email'] = $row['email'];
print(json_encode(array("authenticated" => true)));
Run Code Online (Sandbox Code Playgroud)
但是,当我访问 api 并通过 cURL 从终端发出请求(而不是登录)时,它说我没有获得授权,而我第一次执行了登录请求。在另一个页面上的每个 api 调用中,我都会检查会话变量。如果设置了,则用户已登录:
function checkSession()
{
session_start();
if(!isset($_SESSION['idUser']) || !isset($_SESSION['email']))
{
print json_encode(array("error" => "Not authorized"));
exit();
}
}
Run Code Online (Sandbox Code Playgroud)
为什么说我没有权限?当我从网络浏览器访问页面时,一切正常。
谢谢!
我最近开始使用JQTouch制作基于Web的应用程序.在这个应用程序中,当按下一个按钮时,我正在制作一个ajax请求,从我运行Apache的Linux服务器获取一个xml文件.当我通过wifi运行我的应用程序时,一切都运行良好.当我超过3克并按下按钮时,它也会加载.但是当我再次按下按钮时,我收到错误412的警报:前提条件失败.我在互联网上搜索了这个错误,我发现我必须在我的服务器上禁用mod_security,但这并不能解决错误:(
这是我的ajax请求:
$.ajax(
{
type: "POST",
cache: false,
url: "http://draughtsonline.no-ip.org/ArtObject/catalogus/catalogus.xml",
dataType: "xml",
success: function(xml)
{
// do stuff with the xml file
},
error: function(xhr, ajaxOptions, thrownError)
{
alert(xhr.status);
alert(thrownError);
},
async: false
});
Run Code Online (Sandbox Code Playgroud)
我真的不知道它有什么问题.有人可以帮帮我吗?
提前致谢!
我正在尝试使用Passbook API发送一些推送通知.我创建了以下发送给APNS服务器的JSON对象:
$payload = json_encode(array('aps' => array('alert' => 'Hello World!')));
Run Code Online (Sandbox Code Playgroud)
但是,此消息未到达.我一直在互联网上搜索使用Passbook时如何做到这一点,但我找不到它.当我发送这样的空载荷时:
$payload = json_encode(new ArrayObject());
Run Code Online (Sandbox Code Playgroud)
(更新)通知到达并且通过更新.
那么,有谁知道我应该如何向APNS服务器发送自定义消息?
提前致谢!
我目前正在解决以下问题:
给定一个M个正数的数组,我需要得到N个具有一定长度的连续数字块.例如,当我有数组时:
6 9 3 2 8 1 6 9 7
当我需要找到一个长度为3的块时,解决方案是[3,2,8],它的最小总和为13.当我需要找到两个块时,算法应该给出[3,2,8]和[1,6,9]因为这些块中所有元素的总和是最小的(29).假设序列的长度总是严格大于块长度的N倍(因此始终存在解决方案).
我认为这个问题可以通过使用DP解决,但我目前看不出如何.我很难找到子问题之间的经常性关系.有人能帮我一把吗?
提前致谢!
我有一个名为_containerView的UIView,在这个UIView里面我有一个名为_codeTextView的自定义UITextView.加载应用程序时,这些视图占据整个屏幕,但是,当键盘出现时,我希望屏幕调整大小.
当键盘出现时我必须遵循以下方法:
- (void)keyboardAppears:(NSNotification *)notification
{
_containerView.frame = CGRectMake(0, 0, 320, 216.0f);
_codeTextView.frame = CGRectMake(0, 30, 290, 216.0f);
}
Run Code Online (Sandbox Code Playgroud)
containerView被正确调整大小,但是其中的_codeTextView没有调整大小,我真的不知道为什么它没有调整大小.我已经尝试过更改各种选项,它让我发疯:(
谁能帮助我?
提前致谢!
我有一个奇怪的问题.我在C++中有以下代码:
int grid[h][w]; int dp[h][w]; int p[h][w];
for(int y = 0; y < h; y++)
for(int x = 0; x < w; x++)
cin >> grid[y][x];
// base case
for(int y = 0; y < h; y++) dp[y][0] = grid[y][0];
// fill rest
for(int x = 1; x < w; x++)
{
for(int y = 0; y < h; y++)
{
dp[y][x] = min(dp[y][x-1], min(dp[(y-1)%h][x-1], dp[(y+1)%h][x-1])) + grid[y][x];
}
}
cout << "dp: " << endl;
for(int y = 0; …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用iOS上的安全框架使用RSA加密一些数据.我想加密一个简单的base64编码字符串,如下所示:
NSData *data = [[NSData alloc] initWithBase64EncodedString:@"aGFsbG8=" options:0x0];
NSData *encrypted = [pair encrypt:data];
Run Code Online (Sandbox Code Playgroud)
该pair变量保存对使用前成功生成的私钥和公钥的引用SecKeyGeneratePair.
加密函数如下所示:
- (NSData *)encrypt:(NSData *)data {
void *buffer = malloc([self blockSize] * sizeof(uint8_t));
memset(buffer, 0x0, [self blockSize]);
size_t ciphertextBufferLength = [data length];
OSStatus res = SecKeyEncrypt([self keyRef], 0x1, [data bytes], [data length], &buffer[0], &ciphertextBufferLength);
NSLog(@"Result of encryption: %d", res);
return [NSData dataWithBytesNoCopy:buffer length:[self blockSize] freeWhenDone:YES];
}
Run Code Online (Sandbox Code Playgroud)
实施[self blockSize]非常简单:
- (unsigned long)blockSize {
return SecKeyGetBlockSize(keyRef);
}
Run Code Online (Sandbox Code Playgroud)
我用以下函数生成我的键:
- (BOOL)generateNewKeyPairOfSize:(unsigned int)keySize
{ …Run Code Online (Sandbox Code Playgroud) 我想在键盘出现时调整UITextView的大小,但我似乎无法做到这一点.我在其中创建了一个带有UITextView的视图.在代码中,我想手动调整此文本视图的高度.我这样做:
_textView.translatesAutoresizingMaskIntoConstraints = NO;
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:_textView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0f constant:216.0f];
[_textView addConstraint:constraint];
Run Code Online (Sandbox Code Playgroud)
在Interface Builder中,我说文本视图和superview之间的边距可以大于或等于0.
当我运行应用程序时,它会给出错误,即不能同时满足约束:
"<NSLayoutConstraint:0x886e550 V:[UITextView:0x7b0fa00(216)]>",
"<NSLayoutConstraint:0x886f7c0 UITextView:0x7b0fa00.bottom == UIView:0x886e3c0.bottom>",
"<NSLayoutConstraint:0x886f700 V:|-(0)-[UITextView:0x7b0fa00] (Names: '|':UIView:0x886e3c0 )>",
"<NSAutoresizingMaskLayoutConstraint:0x71a2d10 h=--- v=--- V:[UIWindow:0x8a792f0(480)]>",
"<NSAutoresizingMaskLayoutConstraint:0x71a1490 h=-&- v=-&- UIView:0x886e3c0.height == UIWindow:0x8a792f0.height - 20>"
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x886e550 V:[UITextView:0x7b0fa00(216)]>
Run Code Online (Sandbox Code Playgroud)
我不确定如何确保满足所有约束.有人能帮我一把吗?
谢谢!
arrays ×2
ios ×2
objective-c ×2
php ×2
xcode ×2
ajax ×1
algorithm ×1
c++ ×1
cryptography ×1
curl ×1
emoji ×1
encryption ×1
get ×1
jquery ×1
json ×1
layout ×1
memory ×1
mysql ×1
openfire ×1
passbook ×1
payload ×1
request ×1
resize ×1
rsa ×1
security ×1
uitextview ×1
uiview ×1
unicode ×1
xml ×1
xmpp ×1