草庐IT

php - 如何将 Windows-1252 字符转换为 php 中的值?

我们有几个包含Windows-1252字符的数据库字段:anexamplepain—ifyou’re这些值映射到此列表中的所需值:http://www.i18nqa.com/debug/utf8-debug.html我已经尝试了htmlentites、mb_detect_encoding、uft8_decode等的各种排列,但尚未能够将这些值转换为:一个痛苦的例子——如果你是如何将这些字符转换为它们在php中列出的值? 最佳答案 您可以使用mb_convert_encoding$str="anexamplepain—if

php - 如何使用 Shift-JIS 和 CP932 创建 SQL 注入(inject)攻击?

我正在编写一些单元测试以确保我的代码在各种字符集下不会受到SQL注入(inject)的攻击。根据thisanswer,您可以通过使用以下字符集之一注入(inject)\xbf\x27来创建漏洞:big5、cp932、gb2312、gbk和sjis这是因为如果您的转义器配置不正确,它将看到0x27并尝试转义它,使其变为\xbf\x5c\x27。但是,\xbf\x5c实际上是这些字符集中的一个字符,因此引号(0x27)未转义。然而,正如我通过测试发现的那样,这并不完全正确。它适用于big5、gb2312和gbk但都不适用0xbf27或0xbf5c是sjis和cp932中的有效字符。两者都是

php - 如何规范化编码名称,如 ks_c_5601-1987 到 CP949?

我正在从邮件服务器获取电子邮件并将邮件转换为UTF-8字符集并将其保存在数据库中。要转换字符集我正在使用mb_convert_encoding但它无法转换gb2312和ks_c_5601-1987。在谷歌搜索中,我发现我可以使用CP936而不是gb2312而对于ks_c_5601-1987使用CP949。采用上述方法意味着在我的代码中维护一个单独的字符集映射列表。有没有办法将编码名称规范化为PHP内部支持的名称,从而消除在本地维护任何映射的需要? 最佳答案 根据listofsupportedcharacterencodings代码页

Android studio 无法运行命令 : java -Xmx1024M -cp

今天我遇到这个问题,当我使用android运行程序时。Gradle会犯这样的错误:Error:Executionfailedfortask':app:createAnzhiDebugMainDexClassList'.com.android.ide.common.internal.LoggedErrorException:Failedtoruncommand:java-Xmx1024M-cp/Users/Hades/Library/Android/sdk/build-tools/21.1.2/lib/dx.jarcom.android.multidex.ClassReferenceLi

android - cp : copyFileSync: could not write to dest file (code=ENOENT)

我有一个Ionic3.9.2应用程序,它与cordova-android7.0.0一起运行。在我安装cordova-plugin-datecs之前一切正常。现在每次我尝试执行命令ioniccordovarunandroid时,我都会收到以下错误:cp:copyFileSync:无法写入目标文件(code=ENOENT):C:\path-to-the-app\platforms\android\res\xml\config.xml除了降级到以前版本的cordova-android之外,还有什么解决方案可以解决这个问题吗?到目前为止我尝试了什么:删除并重新安装android平台;安装cor

java - 在 Java 中从代码页 1252 (Windows) 转换为 Java

我有一些Java字符串(最初来自Excel工作表),我认为它们在Windows1252代码页中。我希望将它们转换为Java自己的unicode格式。Excel文件是使用JXL包解析的,以防万一。我要澄清一下:显然,从Excel文件中获取的字符串看起来很像它已经是某种unicode。WorkbookSettingsws=newWorkbookSettings();ws.setCharacterSet(someInteger);Workbookworkbook=Workbook.getWorkbook(newFile(filename),ws);Sheets=workbook.getShe

windows - 如何将控制台代码更改为 1252?

我正在尝试使用GitBash提供的命令行在Windows8上使用PostgreSQL,这样我就可以运行类似Unix的命令。当使用以下命令访问Postgres时:psql-Upostgres我得到:Warning:Consolecodepage(850)differsfromWindowscodepage(1252)etc...在Windows命令工具中,我只需要在访问Postgres之前键入chcp1252就不会出现警告。unix/gitbash中的等效命令是什么?我尝试从Gitbash执行chcp1252或chcp但它输出:sh.exe":chcp:commandnotfound有什

windows - Windows ANSI Western (cp 1252) 首先出现在哪个 Windows 版本中?

我想要一个尽可能明确的引用,以了解哪个版本的Windows引入了WindowsANSIWestern字符编码。我主要怀疑是Windows1.0(常识)和Windows3.1。Windows3.1是由MSDN上的一本Microsoft书籍暗示声明的。它声明Windows95使用的编码是在Windows3.1中引入的。我不认为这是任何明确的引用,甚至不是特别值得信赖的,因为它过于模糊并且暗示了一些错误(例如代码页437,原始的IBMPC字符集)。更新:在http://iana.org/assignments/character-sets我找到了注册的IANA名称“ISO-8859-1-Wi

java - 编码cp1252

当我在Java中尝试以下操作时:System.out.println(System.getProperty("file.encoding"));我得到cp1252作为编码。有没有办法知道这个值是从哪里来的?(比如环境变量什么的)我想在WindowsXP上使用诸如systeminfo之类的命令在命令提示符下打印编码值。 最佳答案 cp1252是英文安装的MSWindows的默认编码(Microsoft称之为ANSI)。默认情况下,Java会将系统区域设置作为其默认字符编码。这意味着取决于系统。一般来说,我不喜欢依赖默认编码。如果我知道

windows - psql shell 使用代码页 850,windows 使用 1252。如何解决更改控制台代码页?

我已经安装了PostgreSQL,想建立一个新的数据库,一切都很顺利,直到我尝试使用€符号。然后我知道,我一开始收到的警告是有原因的。我在启动psqlshell时收到的警告是:WARNING:Consolecodepage(850)differsfromWindowscodepage(1252)8-bitcharactersmightnotworkcorrectly.Seepsqlreferencepage"NotesforWindowsusers"fordetails.所以我将按照我的指示去做(来自PostgreSQLDocumentation9.2-psql):Windows用户注