使用Photoshop JavaScript在Excel文件中输出阿拉伯语/泰语文本

使用Photoshop JavaScript在Excel文件中输出阿拉伯语/泰语文本,javascript,fonts,arabic,photoshop-script,thai,Javascript,Fonts,Arabic,Photoshop Script,Thai,我有一个photoshop脚本,它将文本层的名称和层内容输出到Excel CSV文件中。如果文本为英语,则可以正常工作,但如果文本为阿拉伯语/泰语,则显示如下“???????”。如何正确显示这些文本 “我的脚本”获取的图层名称和图层内容如下所示: var iLayer = app.activeDocument.activeLayer.textItem; var LayerContents = iLayer.contents; var Names =[ ]; Names.push([LayerN

我有一个photoshop脚本,它将文本层的名称和层内容输出到Excel CSV文件中。如果文本为英语,则可以正常工作,但如果文本为阿拉伯语/泰语,则显示如下“???????”。如何正确显示这些文本

“我的脚本”获取的图层名称和图层内容如下所示:

var iLayer = app.activeDocument.activeLayer.textItem;
var LayerContents = iLayer.contents;
var Names =[ ];
Names.push([LayerName + "," + LayerContents]);
然后在Excel文件中输出名称,如下所示:

var iLayer = app.activeDocument.activeLayer.textItem;
var LayerContents = iLayer.contents;
var Names =[ ];
Names.push([LayerName + "," + LayerContents]);
我试着将阿拉伯文的字体样式改为Arial,泰文的字体样式改为Tahoma,但没有成功。
我甚至尝试转换layerContent.toString()

您需要将文本设置为Unicode。在下面的示例中,我将层名称写入文本文件。主体与CSV相同

// refer to the source document
var srcDoc = app.activeDocument;

var myLayerName = srcDoc.activeLayer.name; // ملعقة
alert(myLayerName) // alerts fine;

write_text(myLayerName, "C:\\temp\\layer_name.txt");


function write_text(str, apath)
{
  // create a reference to a file for output
  var txtFile = new File(apath);

  // open the file, write the data, then close the file
  txtFile.encoding = "UTF8"; // make it unicode
  txtFile.open("w", "TEXT", "????");
  txtFile.writeln(str);
  txtFile.close();
}