在回答另一个问题时,我意识到我的Javascript/DOM知识已经变得有点过时,因为我仍在使用escape
/ unescape
编码URL组件的内容,而看起来我现在应该使用encodeURIComponent
/ decodeURIComponent
代替.
我想知道的是什么错escape
/ unescape
?有一些模糊的建议,围绕Unicode字符存在某种问题,但我找不到任何明确的解释.
我的网络体验相当有偏见,几乎所有这些都是编写与Internet Explorer绑定的大型Intranet应用程序.这涉及到大量使用escape
/ unescape
并且所涉及的应用程序已经完全支持Unicode多年了.
那么escape
/ unescape
应该有什么Unicode问题呢?有没有人有任何测试用例来证明这些问题?
我有一个SQL查询,它返回一组行:
SELECT id, name FROM users where group = 2
Run Code Online (Sandbox Code Playgroud)
我还需要包含一个具有递增整数值的列,因此第一行需要在计数器列中为1,第二行为2,第三行为3等
这里显示的查询只是一个简化的例子,实际上查询可能是任意复杂的,有几个连接和嵌套查询.
我知道这可以使用带有自动编号字段的临时表来实现,但有没有办法在查询本身中执行此操作?
我的编码时间不长,所以我不熟悉哪种技术最快,所以我想知道在VS或第三方工具中是否有办法做到这一点?
谢谢
如何仅使用Javascript将彩色图像转换为黑/白?
AND,也使它在大多数浏览器中交叉兼容,因为我听说Internet Explorer有一个"过滤器"机制,但没有其他浏览器支持它.
我已下载SWFObject,并将其包含在我的网站中.现在,我想简单地根据用户浏览器访问我的网站时是否安装Flash 来获取true
或false
值.
我怎样才能做到这一点?
如何在用户缓存中检查javascript文件.如果他在一段时间后刷新页面或访问该网站.我不需要再次下载该js文件.关闭站点后是否清理js文件.
我有以下方法
-(NSMutableArray *) getPaises {
NSMutableArray * paises;
paises = [[NSMutableArray alloc] init];
while( get new row ) {
NSString *aPais = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];
[paises addObject:aPais];
}
return paises;
}
Run Code Online (Sandbox Code Playgroud)
我没有发布aPais,因为如果我这样做,应用程序崩溃了.我不知道何时或是否应该在使用它之后将其释放到某处,如果是,我该怎么做.刚刚发布NSMutableArray就足够了?或者我是否必须遍历它并释放每个对象?
如果我不必释放它,谁负责释放?
我正在尝试为我正在处理的数据集选择一个不错的SQL Server 2008空间索引设置.
数据集是多边形,表示整个地球的轮廓.表中有106,000行,多边形存储在几何字段中.
我的问题是许多多边形覆盖了地球的很大一部分.这似乎很难获得一个空间索引,它将消除主过滤器中的许多行.例如,查看以下查询:
SELECT "ID","CODE","geom".STAsBinary() as "geom" FROM "dbo"."ContA"
WHERE "geom".Filter(
geometry::STGeomFromText('POLYGON ((-142.03193662573682 59.53396984952896,
-142.03193662573682 59.88928136451884,
-141.32743833481925 59.88928136451884,
-141.32743833481925 59.53396984952896,
-142.03193662573682 59.53396984952896))', 4326)
) = 1
Run Code Online (Sandbox Code Playgroud)
这是查询与表中只有两个多边形相交的区域.无论我选择何种空间索引设置组合,Filter()总是返回大约60,000行.
用STIntersects()替换Filter()当然只返回我想要的两个多边形,但当然需要更长的时间(Filter()为6秒,STIntersects()为12秒).
任何人都可以给我任何关于是否存在可能在60,000行上改进的空间索引设置或者我的数据集是否与SQL Server的空间索引不匹配的提示?
更多信息:
正如所建议的那样,我在地球上使用4x4网格分割多边形.我无法用QGIS看到这样的方法,所以我编写了自己的查询来做到这一点.首先我定义了16个边界框,第一个看起来像这样:
declare @box1 geometry = geometry::STGeomFromText('POLYGON ((
-180 90,
-90 90,
-90 45,
-180 45,
-180 90))', 4326)
Run Code Online (Sandbox Code Playgroud)
然后我使用每个边界框来选择和截断与该框相交的多边形:
insert ContASplit
select CODE, geom.STIntersection(@box1), CODE_DESC from ContA
where geom.STIntersects(@box1) = 1
Run Code Online (Sandbox Code Playgroud)
我显然为4x4网格中的所有16个边界框做了这个.最终结果是我有一个新表~107,000行(这证实我实际上没有很多巨大的多边形).
我添加了一个空间索引,每个对象有1024个单元格,每个级别的单元格低,低,低,低.
然而,非常奇怪的是,这个具有分割多边形的新表仍然与旧表一样.执行上面列出的.Filter 仍然会返回~60,000行.我根本不理解这一点,显然我不明白空间索引实际上是如何工作的.
矛盾的是,虽然.Filter()仍然返回~60,000行,但它的性能有所提高..Filter()现在大约需要2秒而不是6秒,而.STIntersects()现在需要6秒而不是12秒.
这里要求的是索引的SQL示例:
CREATE SPATIAL INDEX [contasplit_sidx] ON [dbo].[ContASplit]
(
[geom]
)USING …
Run Code Online (Sandbox Code Playgroud) spatial geospatial spatial-query sql-server-2008 spatial-index
我在英国服务器上安装了ac#assembly(使用Visual Studio 2005编写的.net 2.0)时遇到问题,应该使用英国区域设置.
我的代码所做的是将dd/MM/yyyy格式的日期转换为utc.即yyyy-mm-dd.问题出现在16/02/2010等日期,组件无法转换日期并返回错误.调试后我意识到,由于一个奇怪的原因,System.CultureInfo返回的CultureInfo是en-US.
我可以使用以下方式编程更改这些设置:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB", false);
Run Code Online (Sandbox Code Playgroud)
我的代码工作正常.
但是我不想一直这样做,因为我的系统应该是英国.不是我们.那么,如何将.Net框架的默认文化更改为默认en-GB而不是en-US?
有关信息:
编辑:
关于上下文的一些额外细节.有问题的程序集是通过COM interop从作为COM +应用程序运行的本机C++第三方组件调用的.
实际上有很多例子,我使用过其中一个例子.但它是异步的,我的意思是它不等待我打电话完成的功能.
function ProcessSend()
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.4.0")
Set oXMLDoc = CreateObject("MSXML2.DOMDocument")
oXMLHTTP.onreadystatechange = getRef("HandleStateChange")
strEnvelope = "callNo="&callNo&"&exp="&exp
call oXMLHTTP.open("POST","http://localhost:11883/ServiceCall.asmx/"&posFirm,true)
call oXMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
call oXMLHTTP.send(strEnvelope)
end function
Sub HandleStateChange
if(oXMLHTTP.readyState = 4) then
dim szResponse: szResponse = oXMLHTTP.responseText
call oXMLDoc.loadXML(szResponse)
if(oXMLDoc.parseError.errorCode <> 0) then
'call msgbox("ERROR")
response = oXMLHTTP.responseText&" "&oXMLDoc.parseError.reason
'call msgbox(oXMLDoc.parseError.reason)
else
response = oXMLDoc.getElementsByTagName("string")(0).childNodes(0).text
end if
end if
End Sub
Run Code Online (Sandbox Code Playgroud)
我在一个javascript函数中调用ProcessSend函数.它连接到webservice,并返回"response"变量.但是我的javascript函数不会等待ProcessSend函数的结果.如何让它同步?
javascript ×4
c# ×2
.net ×1
browser ×1
caching ×1
canvas ×1
cocoa ×1
dhtml ×1
encoding ×1
escaping ×1
flash ×1
geospatial ×1
http ×1
iphone ×1
locale ×1
objective-c ×1
performance ×1
profiling ×1
spatial ×1
sql ×1
sql-server ×1
swfobject ×1
synchronous ×1
vbscript ×1
web-services ×1