使用BOM以UTF-8编码从GWT输出.js文件

时间:2013-12-10 18:35:13

标签: maven gwt utf-8 byte-order-mark

我在Windows 8.1应用程序中使用GWT输出的Javascript文件,但是在进行UTF-8编码时,文件一开始也需要Byte Order Mark

(请参阅此问题了解原因:http://social.msdn.microsoft.com/Forums/windowsapps/en-US/dd352270-8790-4b48-8492-17a4a6875e99/why-the-utf8-with-bom-marker-requirement


不确定它是否相关,但我正在使用Maven构建GWT。

我可以在Maven pom.xml文件中更改哪些内容将输出以UTF-8编码的文件和BOM?

或更改GWT配置文件?


谢谢你的帮助,我一直试图在整个下午想出这个!

1 个答案:

答案 0 :(得分:0)

以防万一有人在将来偶然发现这个问题并希望得到答案......

我找不到使用GWT执行此操作的方法,因此我将一些代码添加到运行的.bat构建脚本中。

在运行此脚本之前,您需要保存一个仅包含UTF-8字节顺序标记的空文件(filewithbom.txt)(0xEF 0xBB 0xBF如果您有兴趣)。这可以通过在记事本中保存空文件,并确保将编码设置为UTF-8来完成。

您还需要更改CHANGE_DIR目录。

set OLD_DIR="%CD%"
set CHANGE_DIR="[PATH TO DIRECTORY WITH FILES TO CHANGE]"
set BOM_FILE="filewithbom.txt"
cd %CHANGE_DIR%
for /R %%f in (*.js, *.html) do (  
  type %BOM_FILE% >> tempfile.txt    
  type %%f >> tempfile.txt
  xcopy /Y tempfile.txt %%f
  del tempfile.txt
)
cd %OLD_DIR%

循环遍历CHANGE_DIR目录及其子文件夹,并将内容filewithbom.txt添加到文件名结尾为.js.html的每个文件的开头。