Docker Gcloud返回问号而不是其他语言';象征

Docker Gcloud返回问号而不是其他语言';象征,docker,gcloud,google-speech-api,Docker,Gcloud,Google Speech Api,我通过gcloud(gcloud-ml-speech-recognizer-long-running)向谷歌STT发送请求,当我在我的windows计算机上这样做时,一切都很好。然而,当我在容器(debian 10)中运行它时,响应有问号而不是俄文符号。 回应的开始: { "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeResponse", "results": [ { "alt

我通过gcloud(gcloud-ml-speech-recognizer-long-running)向谷歌STT发送请求,当我在我的windows计算机上这样做时,一切都很好。然而,当我在容器(debian 10)中运行它时,响应有问号而不是俄文符号。 回应的开始:

{  "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeResponse",  "results": [    {      "alternatives": [        {          "confidence": 0.88946664,          "transcript": "???????...
我使用Debian 10(来自mcr.microsoft.com/dotnet/core/aspnet:3.0)并使用这些命令安装gcloud:

RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
RUN apt-get update && apt-get --yes install google-cloud-sdk
我使用这些命令来设置语言环境:

RUN apt-get update && apt-get install -y locales
RUN sed -i -e \
  's/# ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/' /etc/locale.gen \
   && locale-gen
ENV LANG ru_RU.UTF-8
ENV LANGUAGE ru_RU:ru
ENV LC_LANG ru_RU.UTF-8
ENV LC_ALL ru_RU.UTF-8

尽管我怀疑这是语言环境的问题,因为我看不到编码错误的文本,而是带有问号的文本(符号代码63)。

我使用python脚本作为解决方法

import subprocess

r = subprocess.Popen(['gcloud', 'ml', 'speech', 'recognize-long-running', ...], stdout=subprocess.PIPE).communicate()

print(r[0].decode())

您正在使用的gcloud命令的完整版本是什么?它必须是这样的
gcloud-ml-speech-recognize long running\'gs://cloud-samples-tests/speech/brooklyn.flac'--language-code='en-US'--async
语言代码是ru-ru是您的案例是的,这是完整版本,我使用相同的命令,然后是“gcloud-ml-speech-operation-operation wait{operationId}”为了得到结果。我将语言代码设置为“ru-ru”,所有东西都可以在Windows上运行,但在Debian上不行。