小编fde*_*ego的帖子

从powershell调用时,Iconv正在转换为UTF-16而不是UTF-8

尝试使用powershell脚本中的iconv将某些文件的编码从ISO-8859-1批量转换为UTF-8时出现问题.

我有这个bat文件,工作正常:

for %%f in (*.txt) do (
  echo %%f
  C:\"Program Files"\GnuWin32\bin\iconv.exe -f iso-8859-1 -t utf-8 %%f > %%f.UTF_8_MSDOS 
)
Run Code Online (Sandbox Code Playgroud)

我需要转换目录结构上的所有文件,所以我编写了这个其他脚本,这次使用powershell:

Get-ChildItem -Recurse -Include *.java |
  ForEach-Object {
    $inFileName = $_.DirectoryName + '\' + $_.name
    $outFileName = $inFileName + "_UTF_8"
    Write-Host Convirtiendo $inFileName -> $outFileName  
    C:\"Program Files"\GnuWin32\bin\iconv.exe -f iso-8859-1 -t utf-8 $inFileName > $outFileName
  }
Run Code Online (Sandbox Code Playgroud)

使用此结果是将文件转换为UTF-16.我不知道我做错了什么.

任何人都可以帮我这个吗?对于PowerShell本身的编码可能是某种问题吗?

我正在使用W7和WXP以及LibIconv 1.9.2

powershell encoding utf iconv

4
推荐指数
1
解决办法
2994
查看次数

我怎么能与其父母(侧边栏)沟通页面?

我正在将我的剧本转换成一个补充.其中一个需求是配置模板,因此我编写了一个侧栏,用于启动字段选择器.由于侧边栏没有足够的空间容纳选择器,我必须通过在侧边栏中创建的模式对话框启动它,方法是在服务器端调用此代码:

var html = HtmlService.createHtmlOutputFromFile('TemplatePicker.html')
  .setWidth(600).setHeight(425);
SpreadsheetApp.getUi().showModalDialog(html, 'Select the file with the template');
Run Code Online (Sandbox Code Playgroud)

我的问题是,一旦用户选择文件,当我拥有所选文件的ID时,我无法将该ID传递给侧边栏.我试图调用someJSFunctionOfSidebar(id)parent.someJSFunctionOfSidebar(id),但它没有工作,所以我终于结束了值传递到服务器端,并从那里重新加载侧边栏,但它很慢,产生的效果是丑陋的.

我的问题是:

有没有办法将客户端级别的值从创建的模式对话框传递SpreadsheetApp.getUi().showModalDialog给其父级?也许这不是它的父母,这也是它不起作用的原因.

google-docs google-sheets google-apps-script google-apps-script-addon google-apps-script-web-application

4
推荐指数
2
解决办法
1151
查看次数