小编and*_*ncx的帖子

decodeURIComponent vs unescape,unescape出了什么问题?

在回答另一个问题时,我意识到我的Javascript/DOM知识已经变得有点过时,因为我仍在使用escape/ unescape编码URL组件的内容,而看起来我现在应该使用encodeURIComponent/ decodeURIComponent代替.

我想知道的是什么错escape/ unescape?有一些模糊的建议,围绕Unicode字符存在某种问题,但我找不到任何明确的解释.

我的网络体验相当有偏见,几乎所有这些都是编写与Internet Explorer绑定的大型Intranet应用程序.这涉及到大量使用escape/ unescape并且所涉及的应用程序已经完全支持Unicode多年了.

那么escape/ unescape应该有什么Unicode问题呢?有没有人有任何测试用例来证明这些问题?

javascript encoding dhtml escaping

49
推荐指数
4
解决办法
5万
查看次数

带行计数器的SQLServer SQL查询

我有一个SQL查询,它返回一组行:

SELECT id, name FROM users where group = 2
Run Code Online (Sandbox Code Playgroud)

我还需要包含一个具有递增整数值的列,因此第一行需要在计数器列中为1,第二行为2,第三行为3等

这里显示的查询只是一个简化的例子,实际上查询可能是任意复杂的,有几个连接和嵌套查询.

我知道这可以使用带有自动编号字段的临时表来实现,但有没有办法在查询本身中执行此操作?

sql sql-server

21
推荐指数
2
解决办法
6万
查看次数

C#如何确定代码的慢速部分在哪里?

我的编码时间不长,所以我不熟悉哪种技术最快,所以我想知道在VS或第三方工具中是否有办法做到这一点?

谢谢

c# performance profiling

16
推荐指数
3
解决办法
2万
查看次数

如何使用Javascript将彩色图像转换为黑/白?

如何仅使用Javascript将彩色图像转换为黑/白?

AND,也使它在大多数浏览器中交叉兼容,因为我听说Internet Explorer有一个"过滤器"机制,但没有其他浏览器支持它.

javascript canvas image-processing

14
推荐指数
5
解决办法
4万
查看次数

如何使用SWFObject检测闪存

我已下载SWFObject,并将其包含在我的网站中.现在,我想简单地根据用户浏览器访问我的网站时是否安装Flash 来获取truefalse值.

我怎样才能做到这一点?

javascript flash swfobject

14
推荐指数
1
解决办法
1万
查看次数

检查浏览器的缓存以查找js文件

如何在用户缓存中检查javascript文件.如果他在一段时间后刷新页面或访问该网站.我不需要再次下载该js文件.关闭站点后是否清理js文件.

javascript browser caching web-applications http

13
推荐指数
2
解决办法
1万
查看次数

何时在iPhone中发布NSString

我有以下方法

   -(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就足够了?或者我是否必须遍历它并释放每个对象?

如果我不必释放它,谁负责释放?

iphone cocoa objective-c

13
推荐指数
2
解决办法
2万
查看次数

选择具有大多边形的良好SQL Server 2008空间索引

我正在尝试为我正在处理的数据集选择一个不错的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

12
推荐指数
2
解决办法
1万
查看次数

系统区域设置/文化设置在哪里.Net

我在英国服务器上安装了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?

有关信息:

  • 我试图更新machine.config文件并为全球化部分指定culture = en-GB(它被设置为中性)但它不起作用[已经为1.1和2.0做了]但是我可能没有改变了它.
  • 我已经验证了我的Windows区域设置,它们肯定是设置为英国,日期为dd/MM/yyyy
  • 我在虚拟服务器上运行并验证了我的主机系统.它也被设定为英国

编辑:

关于上下文的一些额外细节.有问题的程序集是通过COM interop从作为COM +应用程序运行的本机C++第三方组件调用的.

.net c# locale

9
推荐指数
2
解决办法
3万
查看次数

如何使用vbscript(同步)调用Web服务?

实际上有很多例子,我使用过其中一个例子.但它是异步的,我的意思是它不等待我打电话完成的功能.

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函数的结果.如何让它同步?

vbscript web-services xmlhttprequest synchronous

8
推荐指数
2
解决办法
5万
查看次数