Japanese characters in VARCHAR column using Japanese_Unicode_CI_AS
As Tibor mentioned, the Japanese_Unicode_CI_AS collation (all Japanese_* collations, actually) can store Japanese characters in VARCHAR columns due to Windows code page 932 being a Double-Byte character set (DBCS). I believe there are just under 7800 Japanese characters mapped to the Windows-932 code page. However, Unicode contains more than 7800 Japanese characters.
It would be very helpful (maybe even necessary) to know some things in order to narrow down the problem:

Exactly how you are importing the CSV file. Are you using BCP or BULK INSERT / OPENROWSET(BULK...)?
An example of at least one Japanese name that is getting converted to ??
You say both that the &quot;Japanese names from CSV file that are changing into question marks&quot; and &quot;it is changing some of the characters to ??&quot;, so:

Are all Japanese characters changing into question marks, or only some?
Are the Japanese characters changing into one question mark ( ? ), two ( ?? ), or some of each?



Without knowing the answers to those questions, I can say that there are two main possibilities:

(all Japanese characters imported as ?):   You aren't telling the import tool what the encoding of the CSV file is. Is it encoded as Windows-932 (or possibly Windows-31J)? Or is it a Unicode encoding such as UTF-8 or UTF-16 (which might be listed as &quot;UCS-2&quot; or &quot;Unicode&quot; depending on the tool)? If you are using BCP, you would need to use the command-line options of -c -C 932 for Windows-932, or -c -C 65001 for UTF-8. This problem should be fixable simply by setting the tool to use the correct code page.

(some Japanese characters imported as ? or ??):   If you are telling the import tool the correct encoding of the file, there are still Japanese characters that are not encoded in the Windows-932 code page. For example:
-- DROP TABLE ##BCP;
CREATE TABLE ##BCP ([Value] VARCHAR(50) COLLATE Japanese_Unicode_CI_AS);
INSERT INTO ##BCP ([Value]) VALUES (N'ヤ :: ㋾ :: ');
SELECT * FROM ##BCP;

returns:
ヤ :: ? :: ??

This problem can only be fixed by doing one of the following:

Change the datatype of the column to be NVARCHAR (though you said that you can't change the schema)
Change the collation of the column to use a UTF-8 collation (i.e. collation names ending in _UTF8; introduced in SQL Server 2019)




For info on working with collations / Unicode / encodings, please visit: Collations Info